TransWikia.com

Qual a diferença entre split(" ") e split()

Stack Overflow em Português Asked by Shinforinpola on November 27, 2020

Estou manipulando strings e me deparei com essa questão. Eu achava que a semântica das formas de usar era a mesma, mas vi que não e isso me deixou confuso.

No caso achava que com o uso de split(" ") todos os espaço da string original seriam removidos e eu teria algo como:

[’07’, ’10’, ’11’, ’20’, ’30’, ’44’, ’34n’]

Mas o que eu obtive na saída foi:

palavra = "     07 10 11 20 30 44 34n"

splt = palavra.split(" ")

print(splt)

retorno:

[”, ”, ”, ”, ”, ’07’, ’10’, ’11’, ’20’, ’30’, ’44’, ’34n’]

E com o uso de split() saiu bem mais próximo do que eu esperava.

palavra = "     07 10 11 20 30 44 34n"

splt = palavra.split()

print(splt)

retorno:

[’07’, ’10’, ’11’, ’20’, ’30’, ’44’, ’34’]

One Answer

Se você der o comando abaixo

print(help(palavra.split))

verá o resultado abaixo

Help on built-in function split:

split(sep=None, maxsplit=-1) method of builtins.str instance
    Return a list of the words in the string, using sep as the delimiter string.

    sep
      The delimiter according which to split the string.
      None (the default value) means split according to any whitespace,
      and discard empty strings from the result.
    maxsplit
      Maximum number of splits to do.
      -1 (the default value) means no limit.

Veja então que " " (espaço) tem o resultado diferente de None

None, ou seja o uso de .split() descarta strings vazias.

Espero ter ajudado

Correct answer by Paulo Marques on November 27, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP