我有一个包含地区和邮政编码,如字典
d={
'Center':['A1', 'B1','C1', 'D1'],
'West':['A1', 'B2','C2', 'D2'],
⋮
'North':['A1', 'B2','C3', 'D3'],
}
问题
某些邮编是在复合区,例如A1
在Center
,West
和North
和B2
在West
和North
。
我要检查其邮政编码在多个区域,然后创建与这些邮政编码和地区的一个“反之亦然”字典,即
vice_versa = {
'A1':['Center', 'West', 'North']
⋮
'B2':['West', 'North']
}
(SEMI)的代码,到目前为止,
vice_versa={}
for key in list(d.keys()):
for x in d[key]:
if x in d[~key]:
vice_versa[x] = key, ~key
这里有两个问题:
- 如何迭代其他键,例如如果
key='Center'
那么如何迭代~key='West'
和~key='North'
。 - 如何将所有密钥分配给
vice_versa
,例如,如何分配'Center'
,'North'
和'West'
至vice_versa['A1']
。
为了清楚起见,vice_versa
应该只包含'重复'的邮政编码,例如, A1
和B2
和而不是该示例中的其他邮政编码(例如不是C1
)。
您是否想要将邮政编码包含在单个区域? –
@WillemVanOnsem,好评。不,我不想那样。只有'重复'的邮政编码。我会将其添加到问题中。 – LucSpan