Je veux créer une chaîne S, qui peut être utilisée comme un tableau, car dans chaque élément peut être utilisé séparément en les accédant comme un tableau.comment créer une chaîne qui peut être utilisée comme un tableau en python?
Répondre
C'est ainsi que les chaînes Python fonctionnent déjà:
>>> a = "abcd"
>>> a[0]
'a'
>>> a[2]
'c'
Mais gardez à l'esprit que c'est un accès en lecture seule.
Vous pouvez convertir une chaîne à une liste de caractères en utilisant list
, et d'aller dans l'autre sens utiliser join
:
>>> s = 'Hello, world!'
>>> l = list(s)
>>> l[7] = 'f'
>>> ''.join(l)
'Hello, forld!'
mais j'ai toujours des erreurs d'indexation de liste. Je voudrais définir la chaîne comme dans C++, où String S, me donne une chaîne S qui peut être utilisée comme un tableau de caractères. – Hick
@mekasperasky: vous ne pouvez pas modifier la chaîne d'origine, vous ne pouvez modifier la liste que pour la convertir en chaîne. Les chaînes sont immuables en Python. La modification d'un caractère dans une chaîne peut être une opération coûteuse car vous devez copier la chaîne entière. –
Si vous obtenez des erreurs d'index, alors vous essayez probablement d'accéder aux caractères à la fin de la chaîne - vous obtiendrez la même erreur si vous utilisez une chaîne ou une liste. C'est un bug dans votre code, pas un problème avec les chaînes ou les listes de Python. Montrez-nous le code! –
Je suis un peu surpris que personne ne semble avoir écrit une classe de wrapper "MutableString" populaire pour Python. Je pense que vous voudriez qu'il stocke la chaîne sous forme de liste, la renvoyant via ''.join()
et implémente une suite de méthodes incluant celles pour les chaînes (startswith
, endswith
, isalpha
et tous ses semblables et ainsi de suite) et celles pour les listes .
Pour les opérations simples, il suffit d'opérer dans la liste et d'utiliser ''.join()
si nécessaire. Cependant, pour quelque chose comme: 'foobar'.replace('oba', 'amca')
lorsque vous travaillez avec une représentation de liste devient moche. (that=list(''.join(that).replace(something, it))
... ou quelque chose comme ça). Le marshaling constant entre les représentations de liste et de chaîne est visuellement distrayant.
Il existe [UserString.MutableString] (http://docs.python.org/library/userdict.html#UserString.MutableString) dans la bibliothèque standard, mais il est lent et obsolète depuis la version 2.6 (supprimé dans la version 3.0). –
Apparemment, le bytearray (séquence mutable d'octets) a été ajouté en 2.6: https://docs.python.org/2/library/functions.html?highlight=bytearray#bytearray –
- 1. Requête mysql qui peut être utilisée à la place mysql_num_rows
- 2. Comment créer un tableau d'entiers en Python?
- 3. Comment une regexp récursive peut-elle être implémentée en python?
- 4. Une méthode peut-elle être utilisée comme une fonction array_map en PHP 5.2?
- 5. Comment créer un modèle d'instance qui peut être partagé à travers un composant (qui peut être créé plus d'une fois)
- 6. Une feuille de calcul Excel peut-elle être utilisée comme FDU?
- 7. Où puis-je télécharger une base de données exemple qui peut être utilisée comme entrepôt de données?
- 8. Que faire avec une méthode qui peut être utilisée dans plusieurs classes?
- 9. Comment une méthode en C# peut-elle être utilisée en XAML?
- 10. comment créer chaîne de tableau
- 11. créer un tableau 2d en python?
- 12. PHP Question - Comment créer un tableau sur une chaîne?
- 13. Comment une icône personnalisée peut-elle être utilisée dans un élément de menu d'image?
- 14. API URLDownloadToFile, comment peut-elle être utilisée de manière asynchrone?
- 15. Une classe abstraite peut-elle être utilisée comme type de référence?
- 16. Une fonction bash peut-elle être utilisée dans différents scripts?
- 17. Est-il possible de créer une énumération dont l'instance ne peut pas être créée mais qui peut être utilisée à des fins de lecture seule?
- 18. Comment créer un panneau dans WPF qui peut être déplacé en dehors de la fenêtre principale?
- 19. Itérer en toute sécurité un tableau qui peut être modifié dans un autre thread
- 20. Comment la technologie Web peut-elle être utilisée pour une interface graphique d'application C++?
- 21. Comment faire une classe qui agit comme une chaîne?
- 22. Une variable bu peut-elle être utilisée une deuxième fois après l'avoir relâchée?
- 23. En Javascript, comment puis-je convertir une chaîne afin qu'elle puisse être utilisée pour appeler une propriété?
- 24. Interpréter la chaîne 0x comme hexadécimal en Python
- 25. Est-ce qu'une regex peut être utilisée comme méthode de saisie?
- 26. Est-ce que PHP peut être plus comme python?
- 27. En JPA, une carte de valeurs intégrables, qui ont une entité incorporée utilisée comme clé
- 28. Une macro peut-elle être utilisée pour l'accès en lecture seule à une variable?
- 29. La balise de métadonnées Can [ArrayElementType] peut-elle être utilisée sur un paramètre de fonction?
- 30. Comment la classe NamedSQLQueryDefinition peut-elle être utilisée dynamiquement en tant qu'équivalent de requête sql?
Vous devriez ajouter plus de détails. Les chaînes Python fonctionnent déjà comme des listes. Que voulez-vous exactement? Donnez un exemple, un contexte, un problème, afin que l'on comprenne ce que vous recherchez. –