马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问怎样把第一个列表和第二个列表的内容组合成第三个列表的样子list_1 = [{'姓名':'小米','年龄':'10'},{'姓名':'小明','年龄':'20'}]
list_2 = [{'年级':'五年级'},{'年级':'六年级'}]
list_3 = [{'姓名':'小米','年龄':'10','年级':'五年级'},{'姓名':'小明','年龄':'20','年级':'六年级'}]
您可以使用Python的内建函数 zip 来组合这两个列表,并且使用字典的 update 方法来将第二个列表中的字典添加到第一个列表的字典中。请看以下的代码:
list_1 = [{'姓名':'小米','年龄':'10'},{'姓名':'小明','年龄':'20'}]
list_2 = [{'年级':'五年级'},{'年级':'六年级'}]
list_3 = [dict_1.update(dict_2) or dict_1 for dict_1, dict_2 in zip(list_1, list_2)]
print(list_3)
zip 函数将 list_1 和 list_2 组合成一个元组的列表。在这个列表中,每一个元组都包含一个来自 list_1 和一个来自 list_2 的字典。然后,我们遍历这个元组列表,对于每个元组,我们都使用 update 方法将第二个字典中的键值对添加到第一个字典中。这样,我们就得到了一个新的字典,这个字典包含了两个源字典中的所有键值对。最后,我们将这个新的字典添加到 list_3 中。
注意, update 函数在更新字典后会返回 None ,为了返回更新后的字典,我们使用了逻辑或操作 or ,如果 update 方法返回 None ,那么 or 操作就会返回 dict_1 ,这就是我们期望的结果。
执行上述代码,您将得到如下输出:
[{'姓名': '小米', '年龄': '10', '年级': '五年级'}, {'姓名': '小明', '年龄': '20', '年级': '六年级'}]
这正是您期望的 list_3 。
|