我有一个包含两个元素(键值对)的列表。两个元素都有相同的键。但是很少有不同的值,如下所示。
alist = [{u'a': u'x', u'b': u'y', u'c': u'z'}, {u'a': u'x', u'b': u'm', u'c': u'n'}]
我想更新字典中的可用列表的新数据,这是从用户输入更新的,如下所示。
a_dict = {'a': ['user_input_x'], 'b': ['user_input_y', 'user_input_m'], 'c': ['user_input_z', 'user_input_n']}
结果列表应该是这样的
ans_alist = [{u'a': u'user_input_x', u'b': u'user_input_y', u'c': u'user_input_z'}, {u'a': u'user_input_x', u'b': u'user_input_m', u'c': u'user_input_n'}]
我尝试了一些东西,下面是代码片段,但是由于它是dict,代码正在用相同的值更新所有的键
for i in range(0, 2):
for key in alist:
key['a'] = a_dict['a'][i]
key['b'] = a_dict['b'][i]
key['c'] = a_dict['b'][i]
print alist
ans_alist = [{u'a': ['user_input_x'], u'b': 'user_input_y', u'c': 'user_input_n'}, {u'a': ['user_input_x'], u'b': 'user_input_y', u'c': 'user_input_n'}]
谢谢你的帮助。
新答案:
根据
a_dict
中的值更新alist
。驱动程序值
旧答案:(未完全符合要求)
计算
a_dict
:计算
ans_list
:另一种方法是:
你需要遍历一个dict列表,一次获取一个dict。 然后遍历其键并从结果列表中弹出项:
相关问题 更多 >
编程相关推荐