Python 通过all()判断列表(list)中所有元素是否都包含某个字符串(string)

之前通过比较的笨的方法,判断列表(list)中所有元素是否包含在字符串(string)中,后来发现可以用all()来判断,查找了一些资料,写出来发现很简单,下面分享一下代码。

1、判断列表(list)中,所有元素是否在集合(set)中

list_string = ['big', 'letters']
string_set = set(['hello', 'hi', 'big', 'cccc', 'letters', 'anotherword'])

result = all([word in string_set for word in list_string])
#结果是True 

2、判断列表中的每个字符串元素是否含另一个列表的所有字符串元素中

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
list_string= ['big', 'letters']
list_text = ['hello letters', 'big hi letters', 'big superman letters']
result = all([word in text for word in list_string for text in list_text]) 
#结果是False,因为'big'不在'hello letters'中。

3、如果要获取符合条件字符串,可以用 filter

list_string= ['big', 'letters']
list_text = ['hello letters', 'big hi letters', 'big superman letters']
all_words = list(filter(lambda text: all([word in text for word in list_string]), list_text ))
print(all_words) 
#['big hi letters', 'big superman letters']
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值