有一個帶有元組串列的無向圖,其中每個元素都是 (id1,id2) 形式的元組。我必須找到一個新的 (s,t) 是否存在于包含所有邊的元組串列中,如果不存在則添加元組。邊是元組串列
def add_edge(s: str, t: str) -> None:
if (s,t) or (t,s) not in edges:
edges.append((s,t))
return edges
但這在計算 (a,b) = (b,a) 形式的重復項時失敗了
uj5u.com熱心網友回復:
這會很好用
def add_edge(s: str, t: str) -> None:
if (s,t) not in edge and (t,s) not in edges:
edges.append((s,t))
return edges
uj5u.com熱心網友回復:
if (s,t) or (t,s) not in edges
這不是你想的那樣。 (s,t)被單獨視為一個單獨的條件。所以宣告真的是這樣的:
(s,t)
or
(t,s) not in edges
并且由于(s,t)是一個非空序列,因此整個陳述句自動為真。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/419216.html
標籤:
上一篇:解決這個陣列問題的最佳演算法?
