gpt4 book ai didi

python - 对成对进行成员资格测试,如何使成对元素的顺序无关紧要?

转载 作者:太空狗 更新时间:2023-10-30 00:58:59 25 4
gpt4 key购买 nike

这是我想做的:

m1 = (a,b)
m2 = (c,d)
bad_combos = set()
bad_combos.add((m1,m2)) #((a,b),(c,d))
... #adding many other elements in the set

#when i do this:
if (m2,m1) in bad_combos:
print("Found")
else:
print("Not Found")

#the result is always "Not Found"

有没有一种方法可以让一对元素的顺序无关紧要,这样当 O 进行成员资格测试时:

bad_combos.add((m3,m4))

if (m4,m3) in bad_combos:

#This will return True?

任何想法将不胜感激!提前致谢!

最佳答案

一般来说,当顺序无关紧要时,使用 set 而不是 tuple

但是,您不能将一个集合添加到另一个集合。在这种情况下,您可以使用 frozenset:

m1 = (a, b)
m2 = (c, d) # m1 and m2 are tuples

bad_combos = set()
bad_combos.add(frozenset({m1,m2})) # {m1,m2} is a set
# ...
if frozenset({m2,m1}) in bad_combos:
# True

关于python - 对成对进行成员资格测试,如何使成对元素的顺序无关紧要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46177671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com