我有一個包含地區和郵政編碼,如字典
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