按照以前的处理方法是列表和字典同时遍历,然后就会存在一个问题是字典的key和列表元素对应不上,并且存在一个key对应多个元素。 修改方法后是遍历字典,定义初始下标为0,每循环一次字典,下标加1,注意的是字典的key个数和元素长度要一致。
具体代码实现:
# 定义初始下标为0
index = 0
# 定义一个uid和mid的关系空列表
uid_mid_list = []
for user, uid in uid_dict.items():
# 定义一个新字典
uid_vmid_dict = {}
print(user, uid)
uid_mid_dict["账号"] = user
uid_mid_dict["uid"] = uid
uid_mid_dict["mid"] = mid_list[index]
print("uid_vmid:", uid_vmid_dict)
# 账号和mid 绑定
index += 1
uid_vmid_list.append(uid_mid_dict)
# print("uid_vm字典:", uid_mid)
print("账号和机器对应关系:", uid_mid_list)
注意:如果uid_vmid_dict = {}放在for循环外,每次循环都只是被修改而不是创建新的字典。如果放在for循环外,每次循环都是创建新的字典,每次都是新的value,然后append列表的最后。