我沒有前進,需要幫助(我是編碼新手)
我有以下結構:
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}}
那么我如何遍歷串列物件以轉到它們各自的位置?
uj5u.com熱心網友回復:
使用 dict 理解:
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)
沒有 dict 理解的等價物是:
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)
uj5u.com熱心網友回復:
或者您可以使用字典理解從頭開始構建字典:
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}}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/431533.html
下一篇:使用元組作為鍵時字典有什么問題?
