Set = {(0,1), (1,1), (1,0)}
我怎樣才能確定是否(A,B)和(B,A)是存在於集?
也就是說上述設置將返回true,這一套:
Set = {(0,1), (1,1), (1,2), (1,0)} #missing (2,1)
將返回false?
Set = {(0,1), (1,1), (1,0)}
我怎樣才能確定是否(A,B)和(B,A)是存在於集?
也就是說上述設置將返回true,這一套:
Set = {(0,1), (1,1), (1,2), (1,0)} #missing (2,1)
將返回false?
all(tup[::-1] in Set for tup in Set)
對於集合中的每個元素,我們要求該元素的反轉在集合中。上面的代碼是將該問題定義轉化爲Python的一個非常直接的翻譯。
你可以用一個循環完成你的目標。
Set = {(0,1), (1,1), (1,2), (1,0)}
helpSet = set()
for tup in Set:
if tup[0] == tup[1]: continue
elif tup in helpSet:
helpSet.remove(tup)
elif tup[::-1] in helpSet:
helpSet.remove(tup[::-1])
else:
helpSet.add(tup)
print(helpSet)
串化是毫無意義和錯誤的。這在像{{(1111),(11,111)}'這樣的輸入上失敗。 – user2357112
@ user2357112:字符串化沒有意義,但有助於閱讀和理解。 – obgnaw
元組工作得很好。沒有理由將元組元素轉換爲字符串並將它們混合在一起;這只是引入了錯誤。 – user2357112
'{1,2} 文件 「C:/Users/Tristan/PycharmProjects/pythontut.py」,第67行,在 {(0,1),(1,0),(1 ,1)} b = all(tup [:: -1] in Set for tup in Set) 文件「C:/Users/Tristan/PycharmProjects/pythontut.py」,第67行, b = all tup [:: - 1]設置爲集合中的tup) TypeError:'int'object is not subscriptable' –
Coder117
我在嘗試解決方案時遇到了這些錯誤。有小費嗎? – Coder117
@ Coder117:你的設定不是你想象的那樣。 – user2357112