python - 相同的集合 == 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?
解决方案
从您的print
陈述中可以看出
['bomb', 'lock', 'clock']
{'bomb', 'lock', 'clock'}
x
并且cards_intersect(x, y)
是不同的。第一个是列表,第二个是集合。您可能想要比较两组:
print(set(x) == cards_intersect(x,y)) # True
推荐阅读
- vb.net - 使用 -file 参数启动时的不同行为
- apache-kafka - 当acks = all时是否可以记录或处理自动kafka生产者重试
- javascript - 从离子3中的父对象数组中检索对象数组
- python - 使用 angular-electron 打包可执行二进制文件
- hadoop - 在 Hadoop 集群中,Hive LLAP 守护程序应该在数据节点上还是在专用节点上工作?
- java - 使用 Reactor Mono 记录重试
- r - R中x轴上标签的季节性图变化
- javascript - 是否有从字符串中提取数字的功能
- pyqt - 是否有任何可用于 python 2 的 PyQt 模块?
- python-3.x - 无法在 ubuntu 中安装 robotsframework-ride