我有关于集合的问题。 我有以下代码来说明我的问题。
def f2( s ):
return { c.upper() for c in s if c.isalpha() }
print f2( "A r'a|ccCc^#zZ" )
print f2( "A r'a|ccCc^#zZ" ).union( [( 'B', )] )
print f2( "A r'a|ccCc^#zZ" ).union( [( 'T', )])
结果是:
set(['A', 'C', 'R', 'Z'])
set(['A', ('B',), 'C', 'R', 'Z'])
set(['A', 'C', 'R', 'Z', ('T',)])
为什么按顺序设定订单? 我第一次猜到它是根据A-Z(哈希函数?)排序的。 但是为什么元组在其他行中的位置存在差异?
答案 0 :(得分:0)
来自文档:
sets模块提供了用于构造和操作唯一元素的无序集合的类。常见用途包括成员资格测试,从序列中删除重复项,以及计算集合上的标准数学运算,例如交集,并集,差异和对称差异。