2017-02-18 53 views
1

我對學習Python非常陌生,並且試圖更熟悉它的一部分,我一直在編寫一小段代碼,這些代碼在源代碼中沒有明確教導,但我使用相同的概念。(Python)如何從列表中創建一個字典,將第二個列表中的值作爲其鍵?

我試圖做的一件事是有兩個列表,例如list=["apple", "banana", "orange", "grape"]otherlist=["ok", "good", "better", "best"]並使用它們來創建一個字典,其最終結果爲dict={"ok":"apple","good":"banana","better":"orange","best":"grape"}

但我無法弄清楚如何去做。爲了我的最佳理解,我必須遍歷兩個列表類...並行,以便將'otherlist'中的第一個字符串指定爲'list'中第一個字符串的鍵,依此類推。

我試着做某種for循環,如

for word in otherlist: 
    dict[word]=??? 

凡 「???」是我卡住的地方,因爲我無法弄清楚如何在同一時間迭代「列表」。任何對這個好奇noob的幫助表示讚賞! :)使用

+0

如果這個問題不是重複的,我會吃我的帽子。 – Kanak

回答

5

所有避免首先對象類型作爲變量名等list,可以選擇使用一個有意義的一個或類似的東西list1list2

list1 = ["apple", "banana", "orange", "grape"] 
list2 = ["ok", "good", "better", "best"] 

爲了合併2所列出(假設大小相等的),你可以使用zip然後輸出轉換爲dict爲:

d = dict(zip(list2, list1)) 
0

試試這個:

mydict = dict() 
for x in max(len(list), len(otherlist)): 
    mydict[list[x]] = otherlist[x] 
1
  1. 郵編兩份名單一起:對結果

    list=["apple", "banana", "orange", "grape"] 
    otherlist=["ok", "good", "better", "best"] 
    zip(list, otherlist) 
    [('apple', 'ok'), ('banana', 'good'), ('orange', 'better'), ('grape', 'best')] 
    
  2. 呼叫dict創建這些對的字典。

    dict(zip(list, otherlist)) 
    {'orange': 'better', 'grape': 'best', 'apple': 'ok', 'banana': 'good'} 
    

注意:您必須確保第一個列表的元素是唯一的,否則最後一個元素獲勝。

相關問題