与其他lis进行列表比较的列表

2024-09-27 22:36:17 发布

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

我需要检查list with list是否包含与指定列表具有相似值的列表,值的顺序可能不同,但如果所有值都相同,则应返回true

a= ["1","2","3","4","5"]

b= ["2","3","6","4","7"]

e = (["1","3","2","4","5"],["2","3","6","4","7"])


CombinationFound = []
for i in e:
    if i == a:
        CombinationFound = True
        break;
    else:
        CombinationFound = False

它应该返回true,因为["1","2","3","4","5"]["1","3","2","4","5"]具有相同的值


Tags: infalsetrue列表forif顺序with
3条回答

Pythonsets是针对特定问题的更好的实现。你知道吗

集合是包含数据的数学对象,但具有确定两个集合之间的并集、交集、差集等的方法。你知道吗

使用:

set(a) == set(b)

应该给你想要的结果。只要你说的“相似”是指“相同”。你知道吗

尝试将这些列表转换为集合:

def isthesame(a,b):
    return set(b) == set(a)

例如,如果您有:

a= ["1","2","3","4","5"]
b= ["2","3","6","4","7"]

此解决方案适用于没有重复项的列表。你知道吗

不使用for循环的不同比较方式:

found = any(set(a)==set(l) for l in e)

相关问题 更多 >

    热门问题