创建新列表时在列表中添加列表 'label'

Add list within list while creating a new 'label'

我有 2 个列表;或者至少,我相信它们是列表:

one = [{'sex': 'M', 'age': 22},
      {'sex': 'M', 'age': 76},
      {'sex': 'F', 'age': 37},
      {'sex': 'F', 'age': 45}]

two = [0, 1, 0, 0]

我想在创建新的 'label' 时将列表 two 附加到列表 one

所需的输出应如下所示(并且仍然是一个列表):

[{'sex': 'M', 'age': 22, 'new label': 0},
 {'sex': 'M', 'age': 76, 'new label': 1},
 {'sex': 'F', 'age': 37, 'new label': 0},
 {'sex': 'F', 'age': 45, 'new label': 0}]

这一定很简单,但我无法让它工作,也无法使用密切相关的答案。当然,只使用 .append(two) 将列表 two 放在列表 one 的末尾,而不是将其插入列表 one.

如有需要,请随时将其标记为重复,但请帮助解决此特定示例!非常感谢

for d, v in zip(one, two):
    d["new_label"] = v

one
# [{'sex': 'M', 'age': 22, 'new_label': 0},
#  {'sex': 'M', 'age': 76, 'new_label': 1},
#  {'sex': 'F', 'age': 37, 'new_label': 0},
#  {'sex': 'F', 'age': 45, 'new_label': 0}]

onedictionaries 的列表。你想要做的是遍历所述列表中的字典,并将 two 中的值附加到它。

for i in range(0,len(one)):
    one[i]['age'] = two[i]

这将遍历列表中的每个字典,并将新的 key-value 对附加到它。

所以第一个是字典列表,另一个是列表。

one = [{'sex': 'M', 'age': 22},
  {'sex': 'M', 'age': 76},
  {'sex': 'F', 'age': 37},
  {'sex': 'F', 'age': 45}]

two = [0, 1, 0, 0]

for count, i in enumerate(one):
    i['new label'] = two[count]

我会这样做的。您可以使用枚举来跟踪您在循环中的位置。