【发布时间】:2015-04-01 10:41:43
【问题描述】:
我有一个关于套装的问题。 我有以下代码来说明我的问题。
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 排序的(散列函数?) 但是为什么其他行中元组的位置会有所不同呢?
【问题讨论】:
标签: python hash set tuples union