2017-05-03 3 views
0

によって空の要素を削除しますか? 私はこの方法で試してみる:Pythonは私が空の要素が含まれ、このリストを持っているリスト

[x for x in list if all(x)] 

をしかし要素は 任意のヘルプ削除されていませんか? ありがとう

+0

はあなたがArray.pop' 'を見てきました「array.pop([i]は) iは配列からインデックスにある項目を削除し、それを返します。オプションの引数の既定値は-1であるため、デフォルトで最後の項目が削除されて返されます。 " https://docs.python.org/2/library/array.html – SCramphorn

答えて

3

まずは、あなたのリストlistに電話しないようにしてください。これはビルトインタイプであり、後で問題を引き起こします。私はそれをlstに改名しました。 EDIT

などこれは' 'または' 'などのwhitepace要素のすべての種類を削除します

lst = ['Caramanico Terme', ' ', 'Castellafiume', ' ', 'Castelvecchio Subequo', ' ', 'Falesia di ovindoli', ' ', 'Fara San Martino', ' ', "L'Aquila - Madonna  d'Appari", ' ', 'La Palma Pazza (Bisegna AQ)', ' ', 'Liscia Palazzo', ' ', 'Luco dei marsi', ' ', 'Montebello di Bertona', ' ', 'Monticchio', ' ', 'Palena', ' ', 'Pennadomo', ' ', 'Pennapiedimonte', ' ', 'Pescomarrino', ' ', 'Petrella', ' ', 'Pianezza', ' ', 'Pietrasecca', ' ', ' ', 'PietrePiane', ' ', 'Pizzi di Lettopalena (loc. Fonte della Noce)', ' ', 'Placche di Bini', ' ', 'Roccamorice', ' ', 'Sasso di Lucoli', ' ', 'Villetta Barrea', ' '] 
filtered = [x for x in lst if len(x.strip()) > 0] 

corn3liusが指摘したように、これは希望次に、リストに次のようにフィルタをかけることができます仕事も:

filtered = [x for x in lst if x.strip()] 
+1

代わりに、このように' filtered = [x.strip()の場合はxの最初のxの場合] ' – corn3lius

+0

nice!チップのおかげで! – Flurin

0

あなたは理解のリストに条件を追加できます: IS空の文字列の長さ> 0。この1つのライナーを持っている最初のセットからすべての要素とのセットを構築することと同じである。すなわち「」ではないすべての項目を削除する

l = ['Caramanico Terme', ' ', 'Castellafiume', ' ', 'Castelvecchio Subequo', ' ', 'Falesia di ovindoli', ' ', 'Fara San Martino', ' ', "L'Aquila - Madonna  d'Appari", ' ', 'La Palma Pazza (Bisegna AQ)', ' ', 'Liscia Palazzo', ' ', 'Luco dei marsi', ' ', 'Montebello di Bertona', ' ', 'Monticchio', ' ', 'Palena', ' ', 'Pennadomo', ' ', 'Pennapiedimonte', ' ', 'Pescomarrino', ' ', 'Petrella', ' ', 'Pianezza', ' ', 'Pietrasecca', ' ', ' ', 'PietrePiane', ' ', 'Pizzi di Lettopalena (loc. Fonte della Noce)', ' ', 'Placche di Bini', ' ', 'Roccamorice', ' ', 'Sasso di Lucoli', ' ', 'Villetta Barrea', ' '] 

print([l for l in list if l != ' ']) 
0

はそのの世話をする:

a = ['', 'apple', '', 'peach'] 
b = [i for i in a if i != ''] 
関連する問題