В Python я пытаюсь переименовать itens из dicio2, но код останавливается перед последним:
здесь, у меня есть этот dict с номером и именем числа:
dicio1 = {"1":"one",
"2":"two",
"3":"three",
"4":"four",
"5":"five",
"6":"six"}
и dicio2 имеют число со значением:
dicio2 = {"1":"QWE",
"2":"QWE",
"3":"QWE",
"4":"QWE",
"5":"QWE",
"6":"QWE"}
Это то, что мне нужно в конечном счете:
dicio2 = {'one': 'QWE',
'two': 'QWE',
'three': 'QWE',
'four': 'QWE',
'five': 'QWE',
'six': 'QWE'}
Я использовал этот код:
for v in dicio2:
if v in dicio1:
dicio2[dicio1[v]] = dicio2.pop(v)
но результат таков:
{'6': 'QWE',
'one': 'QWE',
'two': 'QWE',
'three': 'QWE',
'four': 'QWE',
'five': 'QWE'}
после этого я положил отпечаток (v):
for v in dicio2:
print(v)
if v in dicio1:
dicio2[dicio1[v]] = dicio2.pop(v)
И результат был такой:
1
2
3
4
5
five
{'6': 'QWE', 'one': 'QWE', 'two': 'QWE', 'three': 'QWE', 'four': 'QWE', 'five': 'QWE'}
кто-то может мне помочь, почему это происходит? как я могу сделать это со всеми itens без cra * sh?
Идеальный режим, который мне был нужен, это переименовать ключ без изменения вашей позиции, но я видел в других topi c, что невозможно потому что ключ не может быть переименован, а решение - использовать только команду POP для удаления и создания другого.