Python 3.4 设置交集
Python 3.4 set intersection
我试图理解为什么当我 运行 这段代码时我的交叉点没有 return 一个空列表。
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)
但是这 return 是正确的集合
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 -Intersection of multiple lists?
当我将第一个列表与其余列表进行比较时,为什么我得不到正确的结果?
*n[:1]
解包为 (n[0],)
- 集合的第一个元素。
所以你与自身相交 n[0]
,结果就是你所看到的。你可能打算写
set(n[0]).intersection(*n[1:])
我试图理解为什么当我 运行 这段代码时我的交叉点没有 return 一个空列表。
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)
但是这 return 是正确的集合
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 -Intersection of multiple lists?
当我将第一个列表与其余列表进行比较时,为什么我得不到正确的结果?
*n[:1]
解包为 (n[0],)
- 集合的第一个元素。
所以你与自身相交 n[0]
,结果就是你所看到的。你可能打算写
set(n[0]).intersection(*n[1:])