簡體   English   中英

Python 3.4設置交集

[英]Python 3.4 set intersection

我試圖理解為什么我運行此代碼時交集不返回空列表。

n = ([1,2,3,4,5],[3,4,5,6],[5,6,7],[7,8,9,10,11,12],[10,22,33,44,45])
w = set(n[0]).intersection(*n[:1])
print(w)
#Returns (1,2,3,4,5)

但是,這將返回正確的集合

n = ([1,2,3,4,5],[3,4,5,6],[5,6,7],[7,8,9,10,11,12],[10,22,33,44,45])
w = set(n[0]).intersection(*n)
print(w)
#Returns empty set.

這個問題為兩個都給出了正確的結果:
Python-多個列表的交集?

將第一組與其余列表進行比較時,為什么無法獲得正確的結果?

*n[:1]解壓縮為(n[0],) -該集合的第一個元素。

因此,您將n[0]與自身相交,結果就是您所看到的。 您可能打算寫

set(n[0]).intersection(*n[1:])

暫無
暫無

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

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