Я хочу заменить строки в словаре словарями. Мои словари создаются динамически с помощью from collections import defaultdict
и они выглядят следующим образом:Python - Замена строки ключа внутри словаря
comp1= defaultdict(list, {'carone': [('182', '511'), ('182', '511')],
'cartwo':[('140', '551'), ('192', '501')],
'carthree':[('130', '451'), ('292', '601')]}
Что я хочу:
Моя цель здесь заключается в замене текстовую строку с номером строки и конвертировать весь словарь в целое число, чтобы увеличить исполнение скорость.
comp1= defaultdict(list, {'1': [('182', '511'), ('182', '511')],
'2':[('140', '551'), ('192', '501')],
'3':[('130', '451'), ('292', '601')]}
То, что я пытался
Я попробовал два подхода:
Первое:
comp1 = {comp1:[comp1.replace("carone", "1") for k in comp1.items()]} #trying car1 first
Второе:
comp1.replace("carone", "1") #replacing car1 with '1' in entire document
Bu т он показывает следующее сообщение об ошибке:
AttributeError: 'collections.defaultdict' object has no attribute 'replace'
Edit:
Строки в моем файле случаен текст и не имеет номера в нем. Они полностью тексты.
Почему * «заменить текстовую строку на числовую строку» * ** затем ** конвертировать, а не просто использовать целое число как прямую замену? Какой * "весь документ" *? Каковы правила для поворота, например. ''car1''' '1'' (буквально только номер, который заканчивается? Что делать, если есть несколько ключей с одинаковым номером?) Почему бы вам не сделать это, когда * создание * словаря, в отличие от сообщения -hoc? Здесь очень много информации. – jonrsharpe