3 回答
TA贡献1817条经验 获得超6个赞
字典不应该以这种方式使用。尽管如此,这里有一个解决方案可以解决您的问题。
mydict={'Territory a':[60000,60999],'Territory b': [90000,90999],'Territory c': [70000,70099]}
myzips =[60015,60016,60017,90001,90002,90003,76550,76556,76557]
for zipCode in myzips:
for territory, postCodes in mydict.items():
if (postCodes[0] <= zipCode <= postCodes[1]):
print(str(zipCode) + " is in " + territory)
break
对于给定的每个邮政编码,我们会检查它是否在所有地区的邮政编码范围内。如果是,我们打印它。
TA贡献1812条经验 获得超5个赞
我会改变mydict,所以关键是邮政编码,价值是领土。大概没有属于两个地区的邮政编码。
newdict = {}
for territory, zipcodes in mydict.items():
for zipcode in zipcodes:
newdict[zipcode] = territory
现在您可以获取列表中所有邮政编码的地区
for zipcode in myzips:
print(zipcode, newdict.get(zipcode)
请注意,在您发布的数据中,没有邮政编码在myzips中mydict,因此newdict.get将返回None。
TA贡献1871条经验 获得超13个赞
我在 Sri 和 Eric 的帮助下完成了这项工作。我让它工作。我刚刚为 Territory(final_list) 制作了一个不同的列表,然后遍历每个列表。
h = 0
while h < len(final_list) :
for zipCode in myzips:
for territory, postCodes in dict.items():
if (postCodes[0] <= zipCode <= postCodes[1])and postCodes[2] == final_list[h] :
mylist2.append(str(zipCode)+","+territory)
#break
h += 1
添加回答
举报
