2016-11-12 55 views
-2

我在像l=('A','1,''B','2','C','3,''D','4')蟒列表,我需要濾除A的值,B,C,d,所以我寫像代碼遵循Python的過濾器()函數和列表比較

list(filter(lambda x:x.isalpha(),l)) 

然後返回['A', 'C']

它我以前不返回值B和d,所以我認爲這是一些事情,我不知道python的過濾函數,則我在列表進行比較,這樣寫如下

[i for i in l if i.isalpha()] 

但奇怪的是它也返回['A', 'C']所以每次發生什麼值B和D

任何人都可以解釋我如何過濾所有的字母值?

+0

您的列表中有一個錯字:''1','B'是唯一的元素。同樣的事情3,D。 'l'['A','1','B','2','C','3','D','4'] print(list(filter(str.isalpha,l)) ) '給出了預期的結果。 –

回答

1

你malforming列表,它應該是:

l=('A','1','B','2','C','3','D','4')

注意逗號

希望它能幫助!

+0

是的,我得到了它感謝 – SS123

+0

在這個網站上,通過upvoting所有有用的答案顯示你的讚賞。您可以通過點擊答案左上角的向上箭頭來實現。另外,通過單擊答案左上角的複選標記來接受最佳答案。這比在評論中表示感謝要好。它也可以幫助其他人看到你的問題得到了回答。 –