【发布时间】:2016-05-31 06:44:26
【问题描述】:
现在我有两个列表,我试图将它们组合成一个字典,其中一个键是list A 的元素,并且映射到来自list B 的比较值列表。
这些是对象列表。我正在通过相等的模块值过滤对象。
说 A 列表是 [ a1, a2, a3 ] 而 B 列表是 [ b1, b2, b3, b4] 。我将每个 B 列表值与嵌套 for 循环中的每个 A 列表值进行比较。如果它们具有相同的模块值,则将 b_value 附加到 z,这是一个仅包含与某个 a_value 模块匹配的 b_values 的新列表。新列表 z 应该是与 z 列表具有相同模块的 a_value 键的值(过滤后的 b_values)
考虑:
listA = [] # every a value in list a should be a key
listB = [] #contains many b values that must be filtered
execute = {}
for i in listA:
z = []
for j in listB:
if j.module == i.module
z.append(j)
execute[i] = z # append full list as value for
# key x
虽然这似乎不像我期望的那样构建字典。
dict 最终可能看起来像这样: { a1: [b2, b3, b7] a2: [b1, b2, b6, b9] a3: [b4, b11]}
我是否以正确的方式处理这个问题?我看到元组可能是一个选择,但我不知道如何。
感谢任何帮助!谢谢
【问题讨论】:
标签: python list dictionary 2d