亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python字典列表檢索過程

Python字典列表檢索過程

瀟瀟雨雨 2022-10-05 18:24:06
我一直在努力解決一個涉及基于每個區域內的開始范圍和結束范圍的區域的郵政編碼的問題。我似乎無法弄清楚如何使用下面的字典來瀏覽我的郵政編碼列表。最終我需要一個列表,上面寫著郵政編碼 6015 屬于區域 Amydict = {'Territory a': [60000,60999], 'Territory b': [90000,90999], 'Territory c': [70000,700999]}myzips = [60015,60016,60017,90001,90002,90003,76550,76556,76557]我已經研究過如何在字典中調用值,但我沒有看到有一種很好的方法來調用鍵,在我的例子中是區域描述。我并不完全相信字典是要走的路,但我想不出另一種方式,所有元素都保持在一起以便在未來的函數或循環中被調用。任何幫助將不勝感激。
查看完整描述

3 回答

?
慕的地6264312

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

對于給定的每個郵政編碼,我們會檢查它是否在所有地區的郵政編碼范圍內。如果是,我們打印它。


查看完整回答
反對 回復 2022-10-05
?
慕雪6442864

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。


查看完整回答
反對 回復 2022-10-05
?
慕桂英4014372

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  


查看完整回答
反對 回復 2022-10-05
  • 3 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號