首页 > 解决方案 > 相同的集合 == False 有人知道为什么吗?

问题描述

我创建了一个在集合之间进行比较的代码,当我在两个集合之间相交时,我想检查它们是否相同。但是,检查的最后一行代码返回 false,有人知道为什么吗?

x = ['bomb', 'lock', 'clock']
y = ['bomb', 'lock', 'clock']
def cards_intersect(card1, card2):
    card1 = set(card1) #turning cards into sets
    card2 = set(card2)
    return card1.intersection(card2) # return intersection of sets
print(x)
print(cards_intersect(x, y))
print(cards_intersect(x, y) == x) #why false?

标签: pythonset

解决方案


从您的print陈述中可以看出

['bomb', 'lock', 'clock']
{'bomb', 'lock', 'clock'}

x并且cards_intersect(x, y)是不同的。第一个是列表,第二个是集合。您可能想要比较两组:

print(set(x) == cards_intersect(x,y)) # True

推荐阅读