【发布时间】:2017-11-30 07:41:19
【问题描述】:
您好,请帮我开发一个遵循的逻辑。
list_1 = [1,2,3]
list_2 = [a,b,c,d,e,f,g,h,i]
所需的输出(字典列表):
output = [{1:a,2:b,3:c}, {1:d,2:e,3:f}, {1:g,2:h,3:i}]
我的脚本:
return_list = []
k = 0
temp_dict = {}
for i, value in enumerate(list_2):
if k <= len(list_1)-1:
temp_dict[list_1[k]] = value
if k == len(list_1)-1:
k = 0
print temp_dict
return_list.append(temp_dict)
print return_list
print '\n'
else:
k = k + 1
print return_list
我的输出:
{1: 'a', 2: 'b', 3: 'c'}
[{1: 'a', 2: 'b', 3: 'c'}]
{1: 'd', 2: 'e', 3: 'f'}
[{1: 'd', 2: 'e', 3: 'f'}, {1: 'd', 2: 'e', 3: 'f'}]
{1: 'g', 2: 'h', 3: 'i'}
[{1: 'g', 2: 'h', 3: 'i'}, {1: 'g', 2: 'h', 3: 'i'}, {1: 'g', 2: 'h', 3: 'i'}]
[{1: 'g', 2: 'h', 3: 'i'}, {1: 'g', 2: 'h', 3: 'i'}, {1: 'g', 2: 'h', 3: 'i'}]
如您所见, temp_dict 打印正确,但 return_list 是最后一个 temp_dict 3 次。 请帮忙解决。
【问题讨论】:
-
到目前为止你尝试了什么?
-
Z = [] for i, a in enumerate(tr_list): Z.append((a, th_list[i % len(th_list)])) 没什么收获
标签: python-2.7 list dictionary merge