filter 过滤大小写问题

来源:12-6 filter

小白菜CODE

2018-04-24

http://img.mukewang.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回答

jia_蛙

2018-04-24

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
2
慕容吉运
filter(lambda x: re.findall('[a-z]', x), list_x)
2024-08-08
共2条回复

7七月

2018-04-24

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

5
0

光荣交白卷哥

2018-08-05

居然想到了正则。有点厉害,我用的是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
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14447 学习 · 4438 问题

查看课程