Python: Split, console et d'unir en une seule ligne
Je suis curieux de savoir si leur est python de la magie, je ne peut pas savoir à accomplir un peu de frivolité
compte tenu de la ligne:
csvData.append(','.join([line.split(":").strip() for x in L]))
Je suis tenté de diviser une ligne sur :
, garniture de l'espace autour d'elle, et de le rejoindre sur ,
problème est, depuis le tableau est retourné à partir de line.split(":")
, le
for x in L #<== L doesn't exist!
provoque des problèmes depuis que je n'ai pas de nom pour le tableau retourné par line.split(":")
Donc, je suis curieux de savoir si il y a une pièce sexy de syntaxe que je pourrais utiliser pour accomplir d'un seul coup?
Cheers!
fixe la bande à bande()
OriginalL'auteur PandemoniumSyndicate | 2012-09-12
Vous devez vous connecter pour publier un commentaire.
Vous pouvez également le faire:
+1 pour
replace()
. 🙂Je préfère la première réponse, la seconde est moins robuste à ce que l'espace est.
Première réponse, Génial!
Que diriez -
for sp in [' ', '\n', '\t']: line = line.replace(sp, '')
OriginalL'auteur Burhan Khalid
Donné un string S:
','.join(x.strip() for x in s.split(':'))
.Vrai, bien que la compréhension de liste peuvent clarifier une partie de la solution.
OriginalL'auteur arturhoo
Quelque chose comme?:
Il faut du temps pour obtenir une prise sur les interprétations de la liste. Ils sont simplement emballés boucles lorsque vous les briser.
Donc, lors de l'apprentissage, essayez de le décomposer comme un fait normal de la boucle, puis de le traduire dans une compréhension de liste.
Dans votre exemple, vous ne donnez pas le
line
variable n'importe où, donc, ce serait une erreur, même dans une boucle standard.Oui, c'est vrai, mais pour un débutant, il peut être source de confusion pour expliquer pourquoi cela fonctionne.
OriginalL'auteur monkut