设置属性和联合方法

时间:2015-04-01 10:41:44

标签: python hash set tuples union

我有关于集合的问题。 我有以下代码来说明我的问题。

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(哈希函数?)排序的。 但是为什么元组在其他行中的位置存在差异?

1 个答案:

答案 0 :(得分:0)

Sets have no order.

来自文档:

  

sets模块提供了用于构造和操作唯一元素的无序集合的类。常见用途包括成员资格测试,从序列中删除重复项,以及计算集合上的标准数学运算,例如交集,并集,差异和对称差异。