【发布时间】:2016-12-16 00:51:38
【问题描述】:
致力于让字典键和值正确排列。
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'}
我想跳过非空格分隔的键与空格分隔的值配对,也跳过非空格分隔的值与空格分隔的键配对(即,我想跳过' AB': 'C', 'E': 'GH', - 上面例子中的其余部分都可以)。
我该怎么办?
【问题讨论】:
标签: python dictionary key key-value