python中有一个数据类型,它采用一对(a,b)并对称地对待它吗?也就是说,(a,b)被视为与(b,a)相同。最好不要有代码通过检查a和b的位置是否互换来手动检查两对是否相等。
答案 0 :(得分:5)
您正在寻找set()
type:
>>> pair = {'a', 'b'}
>>> pair == {'b', 'a'}
True
set
没有订购。如果您需要将它们用作字典中的键,请改用不可变frozenset()
type。 frozenset
set
是tuple
对list
的所有内容{/ 1}}。
只有一个限制:就像字典键一样,为了能够将值放入set
,它们需要是可清除的,这通常归结为没有可变类型。
此外,集合中的值必须都是唯一的; {'a', 'a'}
缩减为{'a'}
,只有一个值。如果您的对需要支持重复值,则可以使用collection.Counter()
objects。