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

Python中,可以使用all()函数结合列表推导式(list comprehension)来检查列表中的所有元素是否都包含某个特定的字符串。all()函数用于判断给定的可迭代参数iterable中的所有元素是否都为True。如果是,则返回True;否则,返回False。

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

若要检查一个列表(list)中的所有元素是否都存在于某个集合(set)中,可以结合all()函数和列表推导(list comprehension)或生成器表达式来实现。

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的all()函数判断一个列表中的每个字符串元素是否包含另一个列表中的所有字符串元素,我们可以结合使用列表推导式和all()函数来实现。

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

要获取符合特定条件的字符串(或其他类型的元素),可以使用filter()函数。filter(function, iterable)函数会构造一个迭代器,其中包含使给定函数返回True的那些元素。如条件是基于字符串的,可以定义一个函数来表示这个条件,然后将这个函数和字符串集合(或任何可迭代对象)一起传递给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']
推荐阅读
cjavapy编程之路首页