在列表中添加新的"标签"时添加列表



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

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

我想在创建新的"标签"时将列表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}]

one是一个字典列表。您要做的是逐步浏览所述列表中的字典,并将two中的值附加到其中

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

这将遍历列表中的每个字典,并将新的键值对附加到其中

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

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]

我就是这么做的。你可以使用枚举来跟踪你在循环中的位置。

最新更新