Python小技巧:判断一个列表是否包含另一个列表的全部元素

2023年 9月 21日 48.9k 0

你应该遇到过需要判断一个列表是否包含另一个列表的全部元素的场景吧。这种需求在实际工作中非常常见,比如在数据筛选、列表匹配以及集合操作等。下面勇哥给大家分享三个日常使用到的小技巧。

方法一:使用all函数和生成器表达式

例如从一个大的数据列表中选取满足特定条件的子集。勇哥举个例子:我们需要从一个商品列表中筛选出库存充足的商品:

def contains(list1, list2):
    return all(item in list1 for item in list2)

# 筛选库存充足的商品
product_list = [{'name': 'Apple', 'stock': 10}, {'name': 'Banana', 'stock': 5}, {'name': 'Orange', 'stock': 8}]
required_products = ['Apple', 'Banana']

if contains([product['name'] for product in product_list], required_products):
    print("有库存")
else:
    print("有库存不足的商品")

# 输出 :有库存

方法二:使用set函数和集合运算

对两个集合进行操作,例如求并集、交集或差集,这种也是很实用且常用。再举个栗子:判断用户的兴趣爱好是否与某个活动的标签相匹配:

# 1. 内置函数
def contains(list1, list2):
return set(list2).issubset(set(list1))

# 2. 操作符
def contains2(list1, list2):
return set(list2)

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论