簡體   English   中英

如何使用元組擴展集合?

[英]How can I extend a set with a tuple?

不像list.extend(L)沒有extend在功能set 如何以pythonic方式將元組擴展為集合?

t1 = (1, 2, 3)
t2 = (3, 4, 5)
t3 = (5, 6, 7)

s = set()
s.add(t1)
s.add(t2)
s.add(t3)

print s
set([(3, 4, 5), (5, 6, 7), (1, 2, 3)])

我的預期結果是:

set([1, 2, 3, 4, 5, 6, 7])

我的解決方案是這樣的:

for item in t1 :
    s.add(item)

嘗試union方法 -

t1 = (1, 2, 3)
t2 = (3, 4, 5)
t3 = (5, 6, 7)
s= set()
s = s.union(t1)
s = s.union(t2)
s = s.union(t3)
s
>>> set([1, 2, 3, 4, 5, 6, 7])

或者如評論中所示,清潔方法 -

s = set().union(t1, t2, t3)

或者:

>>> newSet = s.union(t1, t2, t3)
set([1, 2, 3, 4, 5, 6, 7])

或者以下,實際更新,無需任何分配

>>> s.update( t1, t2, t3)
>>> s
set([1, 2, 3, 4, 5, 6, 7])

你使用的是錯誤的方法。 add添加單個項目,使用參數update集合的聯合。

t1 = (1, 2, 3)
t2 = (3, 4, 5)
t3 = (5, 6, 7)

s = set()
s.update(t1)
s.update(t2)
s.update(t3)

print s

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM