J'ai une longue chaîne de caractères que je veux diviser en une liste de caractères individuels. Je veux également inclure les espaces blancs en tant que membres de la liste. Comment puis-je faire cela?Scinder une chaîne en une liste en python
Répondre
vous pouvez faire:
list('foo')
espaces
seront traités comme des membres de la liste (mais pas regroupés, mais vous ne précisaient pas que vous aviez besoin que)
>>> list('foo')
['f', 'o', 'o']
>>> list('f oo')
['f', ' ', 'o', 'o']
Merci pour votre temps et vos réponses. Je pense que la réponse ci-dessus pourrait m'aider. – Rameses
Ce que j'essaie de faire est de lire une chaîne qui comprend des espaces blancs, à partir d'un autre fichier .txt. Ce fichier contient juste "X" ou "" (espaces). – Rameses
Je vais l'utiliser pour construire une carte en deux dimensions. Puisque les tableaux bidimensionnels ne sont apparemment pas supportés par Python, je dois utiliser des listes imbriquées. – Rameses
Voici quelques comparision sur la corde et une liste de chaînes, et une autre façon de faire une liste de chaîne explicitement pour le plaisir, dans la vie réelle use list():
b='foo of zoo'
a= [c for c in b]
a[0] = 'b'
print 'Item assignment to list and join:',''.join(a)
try:
b[0] = 'b'
except TypeError:
print 'Not mutable string, need to slice:'
b= 'b'+b[1:]
print b
Ce n'est pas une réponse à la question initiale, mais à votre « comment puis-je utiliser l'option dict » (pour simuler un tableau 2D) dans les commentaires ci-dessus:
WIDTH = 5
HEIGHT = 5
# a dict to be used as a 2D array:
grid = {}
# initialize the grid to spaces
for x in range(WIDTH):
for y in range(HEIGHT):
grid[ (x,y) ] = ' '
# drop a few Xs
grid[ (1,1) ] = 'X'
grid[ (3,2) ] = 'X'
grid[ (0,4) ] = 'X'
# iterate over the grid in raster order
for x in range(WIDTH):
for y in range(HEIGHT):
if grid[ (x,y) ] == 'X':
print "X found at %d,%d"%(x,y)
# iterate over the grid in arbitrary order, but once per cell
count = 0
for coord,contents in grid.iteritems():
if contents == 'X':
count += 1
print "found %d Xs"%(count)
Tuples, étant immuable, rendre parfaitement bon dictionnaire clés. Les cellules de la grille n'existent pas jusqu'à ce que vous les attribuiez, donc c'est très efficace pour les tableaux clairsemés si c'est votre truc.
- 1. Scinder une chaîne en javascript
- 2. Scinder une chaîne en plusieurs lignes
- 3. Existe-t-il une fonction en Python pour scinder une chaîne sans ignorer les espaces?
- 4. Scinder une chaîne en un tableau de caractères en C++
- 5. Comment diviser une chaîne en une liste?
- 6. Scinder une chaîne en deux caractères dans Ruby
- 7. Scinder une chaîne en mots avec des caractères suédois
- 8. Comment pré-scinder une chaîne pour un hachage en rubis?
- 9. Conversion d'une chaîne en liste en Python
- 10. Diviser une chaîne en python
- 11. Crypter une chaîne en Python
- 12. découper une chaîne en python
- 13. Segmenter une liste en Python
- 14. Remplit une liste en python
- 15. Déballez une liste en Python?
- 16. scinder un dictionnaire en python en clés et en valeurs
- 17. scinder une courbe de Bézier en actionscript3
- 18. Scinder une partie de the_content() en style?
- 19. Puzzle: scinder une chaîne HTML correctement
- 20. Comment convertir une liste de valeurs ascii en une chaîne en python?
- 21. Ajout d'une chaîne devant une chaîne pour chaque article dans une liste en python
- 22. Convertir une chaîne ou une chaîne [] en liste avec Groovy
- 23. C# Scinder une matrice
- 24. En Python, comment indexer une liste avec une autre liste?
- 25. découper une chaîne en une liste de tuples
- 26. Python convertir la chaîne formatée en liste
- 27. Conversion d'un objet Doc en une chaîne en python
- 28. Fractionner une chaîne en une liste dans django-templates
- 29. convertir une chaîne json en objet python
- 30. Comment concat une chaîne en Python
Vous n'avez pas besoin de faire cela, car une chaîne est déjà une séquence de caractères. S'il vous plaît fournir un exemple de ce que vous pensez que vous faites. –
Une différence entre une chaîne et une liste de caractères est qu'une liste est modifiable. Est-ce la raison pour laquelle vous voulez que la séquence de caractères soit convertie dans ce format? Dans beaucoup, sinon la plupart des autres aspects, ils sont très similaires et les mêmes opérations peuvent être effectuées sur l'un ou l'autre (il serait donc logique de les laisser seuls). – martineau
@martineau: Mais muter une "chaîne en tant que liste" n'est pas vraiment très bénéfique, car la création de nouvelles chaînes est généralement si efficace. Il serait utile de voir un certain contexte autour de cette question plutôt que de deviner. Je pense que cela indique un problème de conception, mais sans faits, il est difficile de dire quel est le but. –