2010-08-29 6 views
2

J'ai une liste comme ci-dessoussuppression/n de la liste des mots - python

[ 'Jellicle', 'Cats', 'sont', 'noir', 'et', 'blanc, \ nJellicle', «Cats», «are», «plutôt», «small; \ nJellicle», «Cats», «are», «joyeux», «and», «bright, \ nAnd», «plaisant», «to», 'entendre', 'quand', 'ils', 'caterwaul.' 'Cellule' ',' Chats ',' avoir ',' gai ',' visages, \ nJellicle ',' Chats ',' avoir ',' brillant ', «noir», «yeux», «ils», «aimer», «pratiquer», «leur», «airs», «et», «graces \ n» et «attendre», «attendre», «pour», ',' Jellicle ',' Moon ',' to ',' rise. \ n ']

Comment puis-je supprimer le/n donc je finis avec une liste avec chaque mot comme chose séparée sans/n.

Grammer est autorisé à être laissé dans la liste.

grâce

Répondre

2

Le plus simple (mais pas les plus performants) est sans doute de se joindre ensuite fendu:

l = ('\n'.join(l)).split('\n') 

En fait, il semble que nous avons créé cette liste par le fractionnement de l'espace. Si c'est le cas, vous pourriez vouloir reconsidérer comment créer cette liste en premier lieu pour éviter cette étape supplémentaire. Vous pouvez diviser directement le résultat correct en divisant une expression régulière correspondant à un espace, ou mieux, en utilisant s.split() sans aucun argument.

+2

En fait, si vous appelez "foo bar \ nbaz" .split(), vous aurez la bonne chose au large de la chauve-souris. – Ian

+0

@Ian: +1 Bon point. Je vais modifier ma réponse. :) –

1
>>> [i for el in lst for i in el.splitlines()] 
['Jellicle', 'Cats', 'are', 'black', 'and', 'white,', 'Jellicle', 'Cats', 'are', 'rather', 'small;', 'Jellicle', 'Cats', 'are', 'merry', 'and', 'bright,', 'And', 'pleasant', 'to', 'hear', 'when', 'they', 'caterwaul.', 'Jellicle', 'Cats', 'have', 'cheerful', 'faces,', 'Jellicle', 'Cats', 'have', 'bright', 'black', 'eyes;', 'They', 'like', 'to', 'practise', 'their', 'airs', 'and', 'graces', 'And', 'wait', 'for', 'the', 'Jellicle', 'Moon', 'to', 'rise.'] 
0
>>> l = ['Jellicle', 'Cats', 'are', 'black', 'and', 'white,\nJellicle', 'Cats', 'are', 'rather', 'small;\nJellicle', 'Cats', 'are', 'merry', 'and', 'bright,\nAnd', 'pleasant', 'to', 'hear', 'when', 'they', 'caterwaul.\nJellicle', 'Cats', 'have', 'cheerful', 'faces,\nJellicle', 'Cats', 'have', 'bright', 'black', 'eyes;\nThey', 'like', 'to', 'practise', 'their', 'airs', 'and', 'graces\nAnd', 'wait', 'for', 'the', 'Jellicle', 'Moon', 'to', 'rise.\n'] 
>>> [i.strip(',;') for v in l for i in v.split()] 
Questions connexes