如何迭代列表以使其值作为我在 python 中的嵌套字典
How to iterate over loist to make its values as my nested dict in python
我没有前进,需要一些帮助(我是编码新手)
我有以下结构:
sim = {'S1': {}, 'S2': {}, 'S3': {}, 'S4': {}, 'S5': {}}
和一个列表
sim_list = [1,2,3,4,5]
我的结果应该是这样的:
sim = {'S1': {"number": 1}, 'S2': {"number": 2}, 'S3': {"number": 3}, 'S4': {"number": 4}, 'S5': {"number": 5}}
我的尝试:
for key in sim.keys():
for i in sim_list:
sim[key]= {"number":i}
但我只能通过 {"number":5}:
获取内部指令
sim = {'S1': {"number": 5}, 'S2': {"number": 5}, 'S3': {"number": 5}, 'S4': {"number": 5}, 'S5': {"number": 5}}
那么我如何遍历列表对象以转到它们各自的位置?
使用听写理解:
sim = {'S1': {}, 'S2': {}, 'S3': {}, 'S4': {}, 'S5': {}}
sim_list = [1, 2, 3, 4, 5]
output = {list(sim)[i]: {"number": sim_list[i]} for i in range(len(sim))}
print(output)
没有听写理解的等价物是:
output = {}
for i in range(len(sim)):
output[list(sim)[i]] = {"number": sim_list[i] }
print(output)
也可以使用zip()
,将每个键和项目关联在一起:
for key, num in zip(sim.keys(), sim_list):
sim[key] = {"number": num}
print(sim)
或者您可以使用字典理解从头开始构建字典:
sim = {f'S{i}': {'number': i} for i in range(1, 6)}
print(sim)
输出:
{'S1': {'number': 1}, 'S2': {'number': 2}, 'S3': {'number': 3}, 'S4': {'number': 4}, 'S5': {'number': 5}}
我没有前进,需要一些帮助(我是编码新手)
我有以下结构:
sim = {'S1': {}, 'S2': {}, 'S3': {}, 'S4': {}, 'S5': {}}
和一个列表
sim_list = [1,2,3,4,5]
我的结果应该是这样的:
sim = {'S1': {"number": 1}, 'S2': {"number": 2}, 'S3': {"number": 3}, 'S4': {"number": 4}, 'S5': {"number": 5}}
我的尝试:
for key in sim.keys():
for i in sim_list:
sim[key]= {"number":i}
但我只能通过 {"number":5}:
获取内部指令sim = {'S1': {"number": 5}, 'S2': {"number": 5}, 'S3': {"number": 5}, 'S4': {"number": 5}, 'S5': {"number": 5}}
那么我如何遍历列表对象以转到它们各自的位置?
使用听写理解:
sim = {'S1': {}, 'S2': {}, 'S3': {}, 'S4': {}, 'S5': {}}
sim_list = [1, 2, 3, 4, 5]
output = {list(sim)[i]: {"number": sim_list[i]} for i in range(len(sim))}
print(output)
没有听写理解的等价物是:
output = {}
for i in range(len(sim)):
output[list(sim)[i]] = {"number": sim_list[i] }
print(output)
也可以使用zip()
,将每个键和项目关联在一起:
for key, num in zip(sim.keys(), sim_list):
sim[key] = {"number": num}
print(sim)
或者您可以使用字典理解从头开始构建字典:
sim = {f'S{i}': {'number': i} for i in range(1, 6)}
print(sim)
输出:
{'S1': {'number': 1}, 'S2': {'number': 2}, 'S3': {'number': 3}, 'S4': {'number': 4}, 'S5': {'number': 5}}