Вы можете обрабатывать все ключи в понимании словаря; вы можете использовать str.translate()
для удаления пробелов; версия Python 2 для этого есть:
{k.translate(None, ' '): v for k, v in dictionary.iteritems()}
и версия Python 3:
{k.translate({32: None}): v for k, v in dictionary.items()}
Вы также можете использовать str.replace()
удалить пробелы:
{k.replace(' ', ''): v for k, v in dictionary.items()}
Но это может быть медленнее для более длинных клавиш; см. Python str.translate VS str.replace
Обратите внимание, что они производят словарь .
Demo на Python 2:
>>> d = {'C 14': ['15263808', '478'], 'W 1': ['13122205']}
>>> {k.translate(None, ' '): v for k, v in d.iteritems()}
{'W1': ['13122205'], 'C14': ['15263808', '478']}
И 2,6 совместимая версия (с использованием Alternative to dict comprehension prior to Python 2.7):
dict((k.translate(None, ' '), v) for k, v in dictionary.iteritems())
Вы хотите отредактировать существующий словарь или создать новый словарь? Нужно ли что-то делать с конфликтующими ключами? –
Все ключи уникальны, в идеале пробелы будут удалены из существующих ключей словаря. – GreyTek