在lambda表达式部分怎么样区别大小写

来源:12-6 filter

慕瓜1195623

2018-09-16

写回答

6回答

慕粉916768

2019-08-16

还是使用正则表达式比较好,适用的情况比较多。如果一个列表中包含有数字等情况:

import  re

list_u = ['a','B','c','F','e',1,3,10,'4']

pattern = '[A-Z]'        #保留大写
r=filter(lambda x: re.match(pattern,str(x)), list_u)
print(list(r))

如果要保留小写,修改匹配条件即可:pattern = '[a-z]'。可以根据不同条件来修改,比较灵活。

1
0

慕数据7346926

2019-01-15

#过滤大小写
strList = ['a','B','c','D','E']
re = filter(lambda x: x.islower(),strList)
print(list(re))

1
0

Seven_柒柒

2018-10-12

import re

list_letter = ['a','A','d','s','D','c','F']

r = filter(lambda x: re.findall('[a-z]', x), list_letter)


其实,没必要使用三元表达式。filter会根据函数的返回值,自动判断是否保留。

例如 : re.findall('[a-z]', x)

第一个元素:‘a’-->rerurn 'a'  --->不为空,即True

第二个元素:‘A’-->rerurn ' '  ---->为空,即False


1
1
不怕火的木头人
但是正则表达式筛选的必须是字符串啊,那还得把list_letter先转换成字符串,是吗
2019-07-21
共1条回复

微分

2018-09-16

1. 筛选小写字母

list_x = ['A', 'a', 'B', 'c', 'f', 'g', 'H']

r = filter(lambda x: True if x >= 'a' else False, list_x)

print(list(r))

2. 筛选大写字母

list_x = ['A', 'a', 'B', 'c', 'f', 'g', 'H']

r = filter(lambda x: True if x < 'a' else False, list_x)

print(list(r))


1
0

慕粉3414773

2020-07-16

b_list = ['A','b','C','d','E','f']

z = list(filter(lambda x:  x.isupper(),b_list))

print(z)

python 提供了一系列判断方法,isupper islower 之类的

0
0

慕的地6863477

2019-03-28

x_list=['a','A','b','c','D','E']


# 筛选大小写,这个是筛选小写的,筛选大写,下面改成not in就好了

a="abcdefghigklmnopq"

r=filter(lambda x:True if x  in a else False,x_list)

print(list(r))


0
0

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

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

14447 学习 · 4438 问题

查看课程