请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

filter 过滤大小写问题

https://img1.sycdn.imooc.com//szimg/5ade047d0001393f08880550.jpg

尝试使用正则表达式过滤大小写,结果大写的"B"不在结果内。


但是如果使用以下代码,不使用正则,则结果是正确的,请问这是为什么?

list_u = ['a', 'B', 'c', 'F', 'e']
r = filter(lambda x: True if x in ['A', 'B', 'C', 'D', 'E', 'F'] else False, list_u)
print(r)
print(list(r))


正在回答

3回答

import re

list_x = ['A','b','c','E','Z']

r = filter(lambda x: True if x in re.findall('[A-Z]',x) else False,list_x)

print(list(r))



1 回复 有任何疑惑可以回复我~
  • 提问者 小白菜CODE #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-04-25 12:00:42
  • filter(lambda x: re.findall('[a-z]', x), list_x)
    回复 有任何疑惑可以回复我~ 2024-08-08 15:00:19
7七月 2018-04-24 13:50:49

你用正则表达式的re了吗。。。。这不是都没用吗,没用re怎么识别正则表达式。

5 回复 有任何疑惑可以回复我~
光荣交白卷哥 2018-08-05 22:02:41

居然想到了正则。有点厉害,我用的是islower...

list_u = ['a','B','c','F','e']

r = filter(lambda x: True if str.islower(x) else False ,list_u)

print(list(r))


2 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信