Python3如何把單個列表轉成字典


  如何把單個列表轉為字典呢?當然 普通方法很簡單,循環遍歷列表 然后根據key:value方式賦值給字典即可.

但還有更簡潔的方法用python的內置函數iter()和zip()來轉換,先看下iter()的說明:

iter函數: 將容器類型或者序列類型轉為迭代器對象;獲取可迭代對象身上的迭代器, 會調用可迭代對象身上的iter的方法。

語法: iter(object[, sentinel])

參數: object:迭代的集合對象,且支持迭代協議或者支持序列協議。

   sentinel :如果傳遞了第二個參數,則參數object必須是一個可調用的對象(如:函數),此時,iter創建了一個迭代器對象,每次調用這個迭代器對象的__next__()方法時,都會調用object。

返回值: 返回迭代器對象

zip() 函數: 用於將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。

如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表。

zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中為了減少內存,zip() 返回的是一個對象。如需展示列表,需手動 list() 轉換。

如果需要了解 Pyhton3 的應用,可以參考 Python3 zip()

語法: zip([iterable, ...])

參數:iterabl -- 一個或多個迭代器;

返回值:返回元組列表。

直接看例子吧:

1 a_list = ['a', '1', 'b', '2','c', '3','d', '4']
2 a = iter(a_list)
3 a_dic = dict(zip(a, a))
4 print(a_list)
5 print(a_dic)

打印輸出

小提示:

要轉成字典的單個列表元素個數如果是奇數, 轉為字典后會丟失最后一個元素. 所以轉換之前最好確認列表中元素的個數.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM