如何将列表条目移动到python中的新字典?

时间:2020-02-28 14:11:43

标签: python-3.x

contact = {
"tom":"081908632739",
"Jhon" : "081608976523",
"Dean" : "081308976542"
}

number = ['081108760091', '081308111897', '081908631243']
new_contact = {}
for who in contact:
for i in range(len(number)):
new_contact[who] = number[i]
print(new_contact)

输出显示联系人列表中每个联系人的号码都相同,且最后一个索引为

1 个答案:

答案 0 :(得分:0)

代码的问题是嵌套循环。这两行:

for who in contact:
   for i in range(len(number)):

在最后一次迭代中,它将列表中的最后一个值设置为所有联系人。您应该使用python可视化工具来了解发生了什么,请参见here

您可以使用一个简单的计数器变量将其更改为以下内容,该变量在每次迭代时都会递增。

contact = {
"tom":"081908632739",
"Jhon" : "081608976523",
"Dean" : "081308976542"
}

number = ['081108760091', '081308111897', '081908631243']
new_contact = {}
counter = 0
for who in contact:
        new_contact[who] = number[counter]
        counter+=1
print(new_contact)

输出:

{'tom': '081108760091', 'Jhon': '081308111897', 'Dean': '081908631243'}

相关问题