Je lis dans une chaîne d'entiers tels que "3 ,2 ,6 "
et les veux dans la liste [3,2,6]
comme entiers. C'est facile à pirater, mais quelle est la manière "pythonique" de le faire?Méthode "pythonic" pour analyser une chaîne d'entiers séparés par des virgules dans une liste d'entiers?
Répondre
mylist = [int(x) for x in '3 ,2 ,6 '.split(',')]
Et si vous n'êtes pas sûr que vous aurez seulement des chiffres (ou si vous voulez jeter les autres):
mylist = [int(x) for x in '3 ,2 ,6 '.split(',') if x.strip().isdigit()]
Alors qu'une solution personnalisée vous renseignera sur Python, pour le code de production en utilisant le module csv
est la meilleure idée. Les données séparées par des virgules peuvent devenir plus complexes qu'initialement.
Je me demande comment les entiers séparés par des virgules sont complexes? –
@Anurag: Qui a dit qu'ils devaient être des entiers? Le PO a seulement fourni des données d'échantillon ... – katrielalex
@Anurag: "lui apprendre à pêcher ..." - jamais entendu cette fable? C'est ce que j'essaie de faire ici. Le simple fait d'analyser une virgule est rarement * la * tâche que l'on tente de résoudre, car il y a des exigences plus complexes. Si je me trompe, aucun mal fait, d'autres réponses fournissent l'approche plus simple –
map(int, myString.split(','))
+1 pour être fonctionnel style –
@Matt: en fait, personnellement J'aime le style fonctionnel, les compréhensions de liste sont plus Pythonic –
@Eli, d'accord 100% –
- 1. Pour séparés par des virgules
- 2. Liste des éléments de tableau séparés par des virgules
- 3. mots séparés par des espaces-séparés dans une chaîne
- 4. par des virgules arguments séparés pour l'opérateur IN, MySQL
- 5. Nettoyage des identifiants séparés par des virgules
- 6. Utilisation d'un IList, comment le peupler via une liste d'ID séparés par des virgules
- 7. Comment obtenir une collection de produits Magento comme séparés par des virgules liste des
- 8. Comment remplacer une chaîne vide par zéro dans une chaîne séparée par des virgules?
- 9. Quelle est la meilleure façon de convertir une liste d'entiers à une chaîne séparés par des virgules nombres en C#
- 10. Idiomatique jQuery pour obtenir toutes les options dans une liste en chaîne séparée par des virgules?
- 11. Ruby GetoptDong comment j'analyse les arguments séparés par des virgules?
- 12. paramètres séparés par des virgules Split en LATEX
- 13. Comment analyser, conserver et récupérer une chaîne avec des tags séparés par des espaces?
- 14. Comment convertir une chaîne de nombres séparés par des virgules en un tableau d'entiers?
- 15. façon Pythonic de recherche d'un sous-chaîne dans une liste
- 16. Python regex mots séparés par des espaces-séparés dans une liste
- 17. va crypter une liste d'identifiants séparés par des virgules le rendre plus petit pour tenir dans un cookie?
- 18. Comment rechercher tous les mots séparés par des virgules dans
- 19. chaîne Javascript séparés par une virgule
- 20. Supprime les virgules dans une chaîne et insère chaque valeur séparée par des virgules dans une chaîne
- 21. Valider plusieurs courriels séparés par des virgules avec javascript
- 22. Coller deux listes de textes (une liste d'un fichier) dans une liste séparées par des virgules
- 23. Rails: affichage @cars comme une liste séparée par des virgules
- 24. Informix - Agrégation de la liste de valeurs dans une chaîne délimitée par des virgules
- 25. Parsing une liste séparée des points-virgules
- 26. passant une liste délimitée par des virgules à un
- 27. Que se passe-t-il lorsque j'appelle une fonction avec des arguments séparés par des virgules?
- 28. analyse syntaxique problème avec séparés par des virgules fichier csv
- 29. Comment gérer les nombres décimaux et les virgules séparés par des virgules dans CF?
- 30. Utilisez une chaîne séparée par des virgules dans `IN()` dans MySQL
Je pense que vous avez un peu en arrière: ' '3,2,6'.split (', ')' –
@orangeoctopus Il fonctionne très bien de toute façon, 'int' jeter autour – delnan
espaces blancs @orangeoctupus - Oui , Je l'ai édité quand je l'ai réalisé. Mais apparemment, je suis rapide comme un renard, donc il ne montre pas que je l'ai édité (au moins pour moi ...);) –