比较两个列表、字典的简单方法

5
如何轻松比较两个列表或字典?
例如:
assert orig_list == new_list

如果我想在Python nose测试中检查两个列表,

有没有内置的函数可以让我使用?

比较两个列表是否是测试时的不良实践?(因为我从未见过)

如果没有内置函数或nose插件,有没有方便的包可以为我执行此操作。


https://dev59.com/N3M_5IYBdhLWcg3waSb9 - Ilya Kharlamov
3个回答

11

1

set用于在两个列表/字典之间执行此操作!

set(orig_list) & set(new_list)

是的,执行assert_equals(set(orig_list), set(new_list))会打印出很好的输出。你只需要小心,有时候你可能不想进行集合比较(当存在重复项时)。 - metakermit

0

这是一种方法。手动检查每个元素是否相等。

(len(a) == len(b)) and  (all(ai == bi for ai,bi in zip(a,b)))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接