Я новичок в Python.
Я извлекаю данные и сохраняю их в dict. При повторном цикле он заменяет мое первое значение ключа.
Вы можете найти выходные данные секунды Atfer match_chlDict
, значение ключа "1"
заменяется ключом "2"
.
У меня нет способа исправить это, пожалуйста, помогите. Спасибо.
Вот оригинал в match_details ['chl']
[{'LINENUM': '1', 'LINESTATUS': '0', 'LINEORDER': '1', 'LINE': '9.5', 'H': '100@1.75', 'L': '100@1.95'}, {'LINENUM': '2', 'LINESTATUS': '1', 'LINEORDER': '2', 'LINE': '10.5', 'H': '100@2.20', 'L': '100@1.59'}]
код
match_chl={}
match_chlDict={}
for chl in match_details['chl']:
print("Current match_chlDict")
print(match_chlDict)
match_chl['chlLINE']=chl['LINE']
match_chl['chlH']=replace100(chl['H'])
match_chl['chlL']=replace100(chl['L'])
#Write match_chl to dict by "LINENUM" as key
match_chlDict[chl['LINENUM']]=match_chl
print("Atfer match_chlDict")
print(chl['LINENUM'])
print(match_chlDict)
выход
Curr match_chlDict
{}
Atfer match_chlDict
1
{'1': {'chlLINE': '9.5', 'chlH': '1.75', 'chlL': '1.95'}}
Curr match_chlDict
{'1': {'chlLINE': '9.5', 'chlH': '1.75', 'chlL': '1.95'}}
Atfer match_chlDict
2
{'1': {'chlLINE': '10.5', 'chlH': '2.20', 'chlL': '1.59'}, '2': {'chlLINE': '10.5', 'chlH': '2.20', 'chlL': '1.59'}}