2015-04-01 47 views
-1

我有一個關於設置的問題。 我有以下代碼來說明我的問題。設置屬性和聯合方法

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

Sets have no order.

從文檔:

這些組模塊提供用於構造和操作的獨特元素的無序集合類。常見用途包括成員資格測試,刪除序列中的重複項以及計算交集,聯合,差異和對稱差異等集合上的標準數學運算。