dict_pv = {} for item in list_fj: if '省' in item: # 地址里有省 pv = item.split('省')[0] + '省' # 把是什么省提取出来 if pv not in dict_pv.keys(): # 去重 dict_pv[pv] = [] dict_pv[pv].append(item) elif '市' in item: pv = item.split('市')[0] + '市' if pv not in dict_pv.keys(): # 去重 dict_pv[pv] = [] dict_pv[pv].append(item) print(dict_pv) 哪里错了
时间: 2024-04-13 07:30:51 浏览: 9
在你的代码中,如果地址既含有'省'又含有'市'的情况下,会导致出现错误。因为你先判断了是否含有'省',再判断是否含有'市',所以会将既含有'省'又含有'市'的地址分别添加到dict_pv中。这样会导致同一个地区被添加了两次。
要解决这个问题,你可以使用两个if语句的嵌套来判断是否既含有'省'又含有'市',然后选择其中一个进行处理。以下是修改后的代码:
```python
dict_pv = {}
for item in list_fj:
if '省' in item: # 地址里有省
pv = item.split('省')[0] + '省' # 把是什么省提取出来
if pv not in dict_pv.keys(): # 去重
dict_pv[pv] = []
dict_pv[pv].append(item)
elif '市' in item:
if '省' in item:
pv = item.split('省')[0] + '省'
else:
pv = item.split('市')[0] + '市'
if pv not in dict_pv.keys(): # 去重
dict_pv[pv] = []
dict_pv[pv].append(item)
print(dict_pv)
```
这样修改后,同一个地区既含有'省'又含有'市'的情况下只会被添加一次到dict_pv中。