2010-08-13 4 views

Répondre

21
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()] 
+3

Je pense que vous avez un peu en arrière: ' '3,2,6'.split (', ')' –

+1

@orangeoctopus Il fonctionne très bien de toute façon, 'int' jeter autour – delnan

+0

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 ...);) –

6

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.

+0

Je me demande comment les entiers séparés par des virgules sont complexes? –

+1

@Anurag: Qui a dit qu'ils devaient être des entiers? Le PO a seulement fourni des données d'échantillon ... – katrielalex

+0

@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 –

13
map(int, myString.split(',')) 
+1

+1 pour être fonctionnel style –

+5

@Matt: en fait, personnellement J'aime le style fonctionnel, les compréhensions de liste sont plus Pythonic –

+0

@Eli, d'accord 100% –

Questions connexes