我有这样的情况:
mainList = [[9,5],[17,3],[23,1],[9,2]]
secondaryList = [9,12,28,23,1,6,95]
myNewList = []
myNewList.append([[a,b] for a,b in mainList if a in secondaryList])
将此,还给我:
myNewList = [[9,5],[23,1],[9,2]]
但我只需要第一次使用“ a”。换句话说,我需要获得:
myNewList = [[9,5],[23,1]]
我该如何实现?
最佳答案
首先:
myNewList = []
myNewList.append([[a,b] for a,b in mainList if a in secondaryList])
只是和
myNewList = [[a,b] for a,b in mainList if a in secondaryList]
然后:
您正在构建的功能上是python字典。您在
mainList
中的两个元素列表与dict.items()
相同!因此,您要做的是在
dict
之外构建一个mainList
(将其反转,因为通常,您只保存最后一个,而不是第一次出现):mainDict = dict([reversed(mainList)])
然后,您只需创建新列表:
myNewList = [ (key, mainDict[key]) for key in secondaryList ]