Python 检查多个值是否在列表中
使用 all() 函数检查列表中是否有多个值,例如 if all(value in my_list for value in multiple_values):。 如果所有指定值都在列表中,则 all() 函数将返回 True,否则返回 False。
my_list = ['one', 'two', 'three', 'four', 'five']
multiple_values = ['one', 'two', 'three']
if all(value in my_list for value in multiple_values):
# ?️ this runs
print('All of the values are in the list')
else:
print('Not all of the values are in the list')
# ?️ True
print(all(value in my_list for value in multiple_values))
我们使用生成器表达式来迭代多个值的集合。
在每次迭代中,我们检查列表中是否存在当前值并返回结果。
all() 内置函数将可迭代对象作为参数,如果可迭代对象中的所有元素都为真(或可迭代对象为空),则返回 True。
如果其中一个值不在列表中,则 all() 函数将短路返回 False。
my_list = ['one', 'two', 'three', 'four', 'five']
multiple_values = ['fifty', 'two', 'three']
if all(value in my_list for value in multiple_values):
print('All of the values are in the list')
else:
# ?️ this runs
print('Not all of the values are in the list')
# ?️ False
print(all(value in my_list for value in multiple_values))
或者,我们可以使用 set() 类将值集合转换为集合对象,以便能够使用 issubset() 方法。
my_list = ['one', 'two', 'three', 'four', 'five']
multiple_values = ['one', 'two', 'three']
if set(multiple_values).issubset(my_list):
# ?️ this runs
print('All of the values are in the list')
else:
print('Not all of the values are in the list')
# ?️ True
print(set(multiple_values).issubset(my_list))
set.issubset 方法测试集合中的每个元素是否都在提供的序列中。
仅当列表中存在所有指定值时,条件才计算为 True。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。