You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中断言列表A包含于列表B?

验证列表所有元素是否包含在另一个列表中的正确断言方式

场景1:仅需验证元素存在(不考虑出现次数)

直接使用all()函数配合生成器表达式,逐个检查list_a的元素是否都在list_b中:

list_a = [1, 2, 3]
list_b = [1, 2, 3, 4, 5]

assert all(item in list_b for item in list_a)

只要list_a中有任意一个元素不在list_b里,断言就会触发AssertionError。

场景2:需验证元素存在且数量足够

如果list_a包含重复元素,需要确保list_b中对应元素的数量不少于list_a,可以用collections.Counter:

from collections import Counter

list_a = [1, 2, 2, 3]
list_b = [1, 2, 3, 4, 5]

# 简洁写法:直接比较Counter的大小
assert Counter(list_a) <= Counter(list_b)

Counter的<=操作符会自动检查所有元素的计数,只有当list_a中每个元素的出现次数都不超过list_b时,断言才会通过。

内容的提问来源于stack exchange,提问作者Geek Panda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 02:05:18