我想取两个具有dict值的列表,并找到只出现在第一个列表中的特定值。你知道吗
在这种情况下,只比较'name'键。你知道吗
a = [
{'name': 'joseph', 'age': 33},
{'name': 'Emma', 'age': 11},
{'name': 'apple', 'age': 44}
]
b = [
{'name': 'apple', 'age': 44},
{'name': 'Emma', 'age': 22}
]
returnOnlyOne(a, b)
例如,将返回[{'name': 'joseph', 'age': 33}]
。你知道吗
set()
解决方案不适用于这种情况。你知道吗
和其他的差不多。你知道吗
使用
list
理解和map
。(顺便说一句,你的list
里面的东西叫做dict
):说明:
list(map(lambda x:x.get('name'), b))
:从b
获取所有名称d.get('name') not in
:检查来自a
的名称是否在b
中不存在。(即仅出现在第一个列表中)为了提高效率,我们首先对
b
中的名称进行set
,然后filter列表a
:样本输出:
如果您不喜欢
itemgetter
、filter
等等,您可以使用理解来编写相同的内容:相关问题 更多 >
编程相关推荐