我有两个元组列表:
a = [(4,5),(7,6),(3,2),(9,6),(25,7)]
b = [(4,6),(7,2),(6,1),(57,12)]
我想要一个包含元组的列表,其中第一个元素的值相交。
c = [(4,5),(4,6),(7,6),(7,2)]
我尝试了以下代码
c=[]
for i in a:
m,n=i
for j,k in b:
if m==j:
i=i[:]
i=i+(j,k)
c=i
print c
输出: (7,6,7,2)
我在哪里做错了?
首先,您没有更新c的值,因为您每次都将其与i相等。因此,如果满足条件,则将替换c。
其次,i = i +(j,k)将两个列表组合在一起。例如,当您将i =(7,6)且j = 7且k = 2时(通过观察,如果满足if条件),则i =(7,6,7,2)。
我相信这会解决您的问题。
a=[(4,5),(7,6),(3,2),(9,6),(25,7)]
b=[(4,6),(7,2),(6,1),(57,12)]
c=[]
for i in a:
m,n=i
for j,k in b:
if m==j:
c.append(i)
break
for i in b:
m,n=i
for j,k in a:
if m==j:
c.append(i)
break
print (c)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句