Skip to main content
 首页 » 编程设计

python之如何断言列表中确实包含预期的元素

2025年05月04日22cyq1162

我想对一个接受列表并返回(一个非常不同的)列表的函数进行单元测试。我知道我期望的元素是什么,但我不知道它们在返回列表中的顺序。我如何断言这些元素恰好在列表中,没有其他元素?我想使用 py.test 来做到这一点。另外:我希望有多个重复项。

请您参考如下方法:

假设元素是可哈希且唯一的,只需使用集合:

set(l) == set(f(l)) 

如果这些条件不适用,请对它们进行排序:

sorted(l) == sorted(f(l)) 

还有 collections.Counter,如果元素是可散列的和非唯一的:

import collections 
 
collections.Counter(l) == collections.Counter(f(l))