Python中是否有數據類型需要一對(a,b)並對稱對待?也就是說,(a,b)被視爲與(b,a)相同的東西。最好是不必有代碼通過檢查a和b的位置是否互換來手動檢查兩對是否相等。Python對稱對數據類型
回答
你正在尋找一個set()
type:
>>> pair = {'a', 'b'}
>>> pair == {'b', 'a'}
True
set
■找沒有順序。如果您需要將這些用作字典中的鍵,請改用不可變的frozenset()
type。 frozenset
s到set
s是什麼tuple
s到list
s。
只有一個限制:就像字典鍵一樣,爲了能夠將值放入set
中,它們需要是可排列的,這通常歸結爲沒有可變類型。
此外,集合中的值必須都是唯一的; {'a', 'a'}
減少爲{'a'}
,這是一組只有一個值。如果您的配對需要支持重複值,則可以使用collection.Counter()
objects。
我可以想到更多的限制,雖然它很小:'len(pair)'不一定是2,這可能會破壞像'x,y = {'a','a'}'這樣的東西。 – DSM
@DSM:對,在這種情況下,您可以使用'collections.Counter()'對象來支持這樣一對。你必須使用'pair = Counter((''','a'))'並用'x,y = pair.elements()'解包。 –
- 1. 對象在Python數據類型
- 2. Python:如何檢查對象的鍵值對的數據類型?
- 3. 對所有數據類型
- 4. Python數據類型是否都是基於C類的對象?
- 5. Python類型系統 - 對象與類型
- 6. 聲明類對象數據類型
- 7. isinstance(對象類型)在python
- 8. Python類型長對C'long long'
- 9. 改變「類型」 Python對象
- 10. 使用Python字典數據類型對條目進行計數
- 11. Python數據類型
- 12. python數據類型
- 13. 對象數組數據類型
- 14. Python分類數據類型
- 15. 對於Pig的Python UDF:數據類型轉換錯誤
- 16. 數組類型的對象數據類型
- 17. Python - AttributeError:類型對象'MyClass'沒有屬性'名稱'
- 18. 如何在Python中將對象作爲數字類型對待
- 19. 條件XML對所有數據類型
- 20. 對XML數據類型的列
- 21. 問題對Cassandra的數據類型
- 22. 弱類型對象的數據庫
- 23. 對數據類型的MongoDB約束
- 24. 如何檢索對象類型數據?
- 25. AVFoundation元數據對象類型
- 26. Apache Thrift,Java:對象數據類型
- 27. 清除類型對象的數據
- 28. 針對INotifyCollectionChanged類型的數據綁定
- 29. C#:一對多關係數據類型
- 30. 如何映射對象數據類型
如果'a'和'b'可以使用'set'。 –