707 votes

Comment fractionner une chaîne en tableau de caractères en Python ?

J’ai essayé de regarder sur le web pour trouver des réponses à scinder une chaîne en un tableau de caractères, mais je n’arrive pas à trouver une méthode simple

``ne semble pas travailler comme le fait de Ruby. Y a-t-il un moyen simple de faire cela sans une boucle ?

1236voto

user225312 Points 22699
<pre><code></code><p><a href="http://docs.python.org/library/functions.html#list">liste</a></p></pre>

96voto

Senthil Kumaran Points 14934

Vous prenez la chaîne et transmettez à list()

25voto

Riliam Points 3

J'ai exploré une autre de deux manières d'accomplir cette tâche. Il peut être utile pour quelqu'un.

Le premier est facile:

In [25]: a = []
In [26]: s = 'foobar'
In [27]: a += s
In [28]: a
Out[28]: ['f', 'o', 'o', 'b', 'a', 'r']

Et la deuxième utilisation map et lambda fonction. Il peut être approprié pour les tâches plus complexes:

In [36]: s = 'foobar12'
In [37]: a = map(lambda c: c, s)
In [38]: a
Out[38]: ['f', 'o', 'o', 'b', 'a', 'r', '1', '2']

Par exemple

# isdigit, isspace or another facilities such as regexp may be used
In [40]: a = map(lambda c: c if c.isalpha() else '', s)
In [41]: a
Out[41]: ['f', 'o', 'o', 'b', 'a', 'r', '', '']

Voir python docs pour plus d'méthodes

4voto

Sylvain Points 31

Si vous souhaitez lire seul accès à la chaîne, vous pouvez utiliser la notation de tableau directement.

Pourrait être utile pour tester sans utiliser regexp. La chaîne contient un saut de ligne fin ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X