python - 列表中的所有列表都相等吗

标签 python

是否有一个首选的通用解决方案来测试列表列表的相等性。我正在尝试应用此 example更一般地说是列表的列表。我目前有以下解决方案,其中 _list 是未知长度/元素数量的通用列表。

all(x == y for x, y in zip(_list, _list[1:]))

或者如果顺序无关紧要。

all([sorted(x) == sorted(y) for x, y in zip(_list, _list[1:])])

除了检查相邻列表是否相等之外,这种方法可以/应该如何改进?

最佳答案

我相信,简单且足够快的方法就是

all(a[0] == ax for ax in a)

您不需要成对比较所有元素,最简单的方法是将 1 与所有其他元素进行比较。实际上,最好与所有(ax in a)进行比较,而不是“与其他”(ax in a[1:])进行比较,因为切片很可能更有效单一比较计算密集。不过,取决于您的数据,但总的来说,我建议不要打扰。

关于python - 列表中的所有列表都相等吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54631294/

相关文章:

python - 根据另外两个列和表在 Pandas 中创建列

python - 在不运行 `celeryd` 的情况下使用 Django+Celery 进行开发?

python - 包括带有 python 模块的二进制文件,这样做是好的做法吗?

Python 循环遍历 txt 文件来创建和合并 Pandas Dataframes

c# - 在 C# 中隐藏大括号

python - 绑定(bind)StringVar的Tkinter Label在更新时落后一键

python - 使用 cx_freeze 时如何捆绑其他文件?

python - 我想在 python 中创建一个模拟对象

python - 如何使用 WebOb 构建文件上传 POST HTTP 请求?

python - 将函数应用于数组的每一对行