Работа над получением ключей и значений словаря правильно выстраивается.Сопоставление ключей со значениями в словаре Python
import pprint
old_dict = {'A B':['C D'],'E F':['G H'],'I J':['K L'],'M N':['O P'],'Q R':['S T'], 'U V':['W X']}
new_dict = {}
for x in old_dict:
try:
for i in range(0,2):
key = x.split()[i]
value = old_dict[x][0].split()[i]
new_dict[key] = value
except:
pass
pprint.pprint(new_dict)
Приведенный выше код работает отлично и возвращает:
{'A': 'C',
'B': 'D',
'E': 'G',
'F': 'H',
'I': 'K',
'J': 'L',
'M': 'O',
'N': 'P',
'Q': 'S',
'R': 'T',
'U': 'W',
'V': 'X'}
Единственная проблема, когда я изменить old_dict быть следующее:
old_dict = {'AB':['C D'],'E F':['GH'],'IJ':['KL'],'M N':['O P'],'Q R':['S T'], 'U V':['W X']}
возвращает:
{'AB': 'C',
'E': 'GH',
'IJ': 'KL',
'M': 'O',
'N': 'P',
'Q': 'S',
'R': 'T',
'U': 'W',
'V': 'X'}
Я бы хотел пропустить k eys, которые не ограничены пространством в паре с значениями, разделенными пробелами, а также пропускают значения, которые не ограничены пространством, в паре с ключами, разделенными пробелами (т. е. я хочу пропустить «AB»: «C», «E»: «GH», остальные в приведенном выше примере - все в порядке).
Что мне делать?
Отлично работает! Благодаря!! – Raider61