在python中获取列表和嵌套列表之间的公共列表元素

在python中获取列表和嵌套列表之间的公共列表元素,python,dictionary,lambda,list-comprehension,Python,Dictionary,Lambda,List Comprehension,如果listB[0]存在于ListA中,我想从listB中提取list元素 listA = ["A", "B"] listB = [("F",4),("A",7),("C",5)] 预期列表:[(“A”,7)] 我试过: [[i for i in listB if x == i[0]] for x in listA] 但是我得到了这个结果:[[('A',7)],[] 我也试着用MAP和lam

如果listB[0]存在于ListA中,我想从listB中提取list元素

listA = ["A", "B"]
listB = [("F",4),("A",7),("C",5)]
预期列表:
[(“A”,7)]


我试过:

[[i for i in listB if x == i[0]] for x in listA]
但是我得到了这个结果:
[[('A',7)],[]

我也试着用MAP和lamda来做,但我遇到了一个错误。 有人能告诉我错误在哪里吗


list(map(如果x==i[0],则列表b中的lambda x:i代表i,列表a))
您只需要做一个循环。中的
操作员将执行另一项操作

>>> listA = ["A", "B"]
>>> listB = [("F",4),("A",7),("C",5)]
>>> [pair for pair in listB if pair[0] in listA]
[('A', 7)]
理解与映射和过滤函数之间是等价的。但是,此映射的等效映射和过滤器不需要
map()


惯用的Python风格是,如果需要创建lambda,则更喜欢理解版本。

您只需要创建一个循环。
中的
操作员将执行另一项操作

>>> listA = ["A", "B"]
>>> listB = [("F",4),("A",7),("C",5)]
>>> [pair for pair in listB if pair[0] in listA]
[('A', 7)]
理解与映射和过滤函数之间是等价的。但是,此映射的等效映射和过滤器不需要
map()

惯用的Python风格是,如果必须生成lambda,则更喜欢理解版本。

该map()示例是一个语法错误。Python不能解析它,我也不能。这个map()示例是一个语法错误。Python不能解析它,我也不能。它有很多问题。