Existe-t-il une fonction en python pour diviser un mot en une liste de lettres simples? par exemple:Existe-t-il une fonction en python pour diviser un mot en liste?
s="Word to Split"
pour obtenir
wordlist=['W','o','r','d','','t','o' ....]
Existe-t-il une fonction en python pour diviser un mot en une liste de lettres simples? par exemple:Existe-t-il une fonction en python pour diviser un mot en liste?
s="Word to Split"
pour obtenir
wordlist=['W','o','r','d','','t','o' ....]
>>> list("Word to Split")
['W', 'o', 'r', 'd', ' ', 't', 'o', ' ', 'S', 'p', 'l', 'i', 't']
Si vous savez pourquoi "Word to Split" .split ('') ne fait pas la même chose. Ce n'est pas le cas, mais cela semble vraiment devoir être le cas. –
@Walter Nissen: J'obtiens "ValueError: empty separator" en essayant cela. L'expression rationnelle vide n'est pas très bien définie. –
N'y a-t-il pas de délimiteur pour utiliser 'split()' pour obtenir les caractères? 'split()' prend un deuxième argument * maxsplits *, mais il n'y a pas d'équivalent avec 'list()'. Bien sûr, il y a des contournements ... –
Le plus simple est probablement juste d'utiliser list()
, mais il y a au moins une autre option ainsi:
s = "Word to Split"
wordlist = list(s) # option 1,
wordlist = [ch for ch in s] # option 2, list comprehension.
Ils devrait les deux vous donner ce que vous avez besoin:
['W','o','r','d',' ','t','o',' ','S','p','l','i','t']
Comme indiqué, le premier est probablement le plus préférable pour votre exemple, mais il y a des cas d'utilisation qui peuvent rendre ce dernier très pratique pour des choses plus complexes, comme si vous voulez appliquer une fonction arbitraire aux éléments, comme avec:
[doSomethingWith(ch) for ch in s]
La fonction liste fera cette
>>> list('foo')
['f', 'o', 'o']
abus des règles, même résultat: (x pour x dans 'Word pour diviser')
En fait un itérateur, pas une liste. Mais il est probable que tu ne t'en soucies pas vraiment.
Bien sûr, "Word to split" utilisé directement est aussi une itération de ses propres caractères, donc l'expression du générateur est juste un emballage inutile. – ShadowRanger
Je pense que c'est la meilleure solution. – peterb
est ici solution simple d'une ligne
>>> mystring = "This is my string"
>>> list(mystring)
['T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'm', 'y', ' ', 's', 't', 'r', 'i', 'n', 'g']
Vous pouvez voir, même les espaces blancs aussi convertis en un élément dans la liste
il suffit de consulter cette documentation: http: //docs.python. org/library/stdtypes.html –
Ancien fil, mais il vaut la peine de le mentionner: la plupart du temps, vous n'avez pas besoin de le faire du tout. Les caractères d'une chaîne de Python peuvent être accédés comme une liste directement à savoir. 's [2]' est 'r', et 's [: 4]' est 'Word' et 'len (s)' est 13. Vous pouvez également parcourir: 'pour char in s: print char' – domoarrigato