2016-11-12 50 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所有有用的答案显示你的赞赏。您可以通过点击答案左上角的向上箭头来实现。另外,通过单击答案左上角的复选标记来接受最佳答案。这比在评论中表示感谢要好。它也可以帮助其他人看到你的问题得到了回答。 –