我创建了一个在两个集合之间进行比较的代码,当我在两个集合之间相交时,我想检查它们是否相同。但是,检查的最后一行代码返回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?

最佳答案

cards_intersect函数仅在函数范围内更改card1,card2。因此,当您将返回一个集合的cards_intersect(x, y)与列表x进行比较时,将得到false
您可以通过以下方式进行比较:

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

10-07 17:52