比较Python列表

2024-04-25 22:26:01 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

使用像if list1[:-1] == list2[:-1]这样的东西。

要比较两个列表,我认为这样可以避免复制列表的任何部分,并在发现不匹配时立即停止:

len(a)==len(b) and all(a[i] == b[i] for i in range(len(a)-1))

要在任意一组列表中找到所有匹配项,我想您需要比较每一对列表——或者至少,您没有检查过的每一对列表的某个等效版本(例如,如果A=B和B=C,则不需要检查A=C)。我不知道有什么算法能让这个简单。

或者,如果列表非常长,并且您希望避免遍历它们,您可以计算每个元素的前N-1个元素的校验和,然后比较这些校验和。

a[:-1]是“所有a元素,但最后一个元素”的简写。如果需要排除多个元素,请将1改为所需的数字。

a[:-1] == b[:-1]将比较ab而不比较它们的最终元素。

有关切片的详细信息,请参见this

相关问题 更多 >