Мне нужна помощь в понимании того, почему этот код не работает должным образом.
Если кто-то хочет изменить ключ словаря, но сохранить значение, он/она может использовать:
d[new_key] = d.pop(old_key)
Я хочу изменить все ключи (и сохранить значения на месте), но приведенный ниже код пропускает определенные строки — («col2») остается нетронутым. Это потому, что словари неупорядочены и я постоянно меняю в них значения?
Как мне изменить ключи и сохранить значения, не создавая новый словарь?
import time
import pprint
name_dict = {"col1": 973, "col2": "1452 29th Street",
"col3": "Here is a value", "col4" : "Here is another value",
"col5" : "NULL", "col6": "Scottsdale",
"col7": "N/A", "col8" : "41.5946922",
"col9": "Building", "col10" : "Commercial"}
for k, v in name_dict.items():
print("This is the key: '%s' and this is the value '%s'\n" % (k, v) )
new_key = input("Please enter a new key: ")
name_dict[new_key] = name_dict.pop(k)
time.sleep(4)
pprint.pprint(name_dict)
Подробнее здесь: https://stackoverflow.com/questions/458 ... th-d-items