我有两个列表;或者至少,我相信它们是列表:
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]
我就是这么做的。你可以使用枚举来跟踪你在循环中的位置。