2014-03-02 83 views

回答

2
[x for x in a if x != ''] 

您可以使用此過濾''

編輯考慮saybyasachi的建議。 使用的事實,所有的元素都是字符串,接近一個更Python的方法是:

[x for x in a if x] 
+3

不要使用當你想測試相等時,'is'和'is''不是'哪個測試標識。這隻會在每個空字符串碰巧是同一個空字符串時才起作用。 – DSM

+0

感謝您的建議! :) 編輯我的答案! –

+1

@Sushant考慮到我們知道所有的元素其實都是字符串,你會不會認爲'[x for x in x]'是pythonic? – Guy

1

這樣,它保留任何項目任何種類合算的:

[item for item in array_name if item] 
+0

您的'for'循環可能會失敗,因爲您要從正在迭代的列表中刪除元素。 – DSM

+0

[一個不好的主意](http://stackoverflow.com/questions/2541528/iterating-through-a-list-removing-items-some-items-are-not-removed)。 – poke

+0

用'['','','foo']'測試你的第一個代碼。 –