从这两个清单中:
FCC = ["A3","A4","A5","A3"]
stNm = ["1st", "2nd", "3rd", "2nd"]
我想生成这样的合并列表:
list1 = [("A3, "1st"), ("A4", "2nd"),("A5","3rd"),("A3","2nd")]
我从这开始:
f = ''
n = ''
list1 = [ ]
for f in FCC:
for n in stNm:
list1.append((f,n))
print (list1)
但它给了我list1中所有可能的组合。我怎样才能得到我想要的东西?我认为部分问题可能与循环有关,但不确定如何解决。我尝试创建字典但我需要保留重复的密钥。
答案 0 :(得分:2)
使用zip功能。
zip(FCC,stNm)答案 1 :(得分:0)
对于第二个问题,您可以获取重复项目列表,如下所示:
duplicated_items = [item for item in stNm if stNm.count(item)>1]
然后你就可以得到它们所属的对:
duplist = [pair for pair in zip(FCC, stNm) if pair[1] in dups]
注意:duplicated_items列表可以像往常一样通过将其设置为set()来单独使用。这似乎不适用于小型列表,可能对大型列表有用。