一、概述
現有2個列表
keys = ['name', 'age', 'food'] values = ['Monty', 42, 'spam']
需要將轉換為字典,結果如下:
a_dict = {'name' : 'Monty', 'age' : 42, 'food' : 'spam'}
那么最簡單的方法是什么呢?
二、代碼實現
最開始,我是想用2層for循環實現,但是發現太麻煩了。最簡單的方法,使用zip()函數即可。
zip()函數
zip() 函數用於將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表。
zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中為了減少內存,zip() 返回的是一個對象。如需展示列表,需手動 list() 轉換。
如果需要了解 Pyhton3 的應用,可以參考 Python3 zip()。
完整代碼
keys = ['name', 'age', 'food']
values = ['Monty', 42, 'spam'] a_dict = dict(zip(keys, values)) print(a_dict)
執行輸出:
{'name': 'Monty', 'age': 42, 'food': 'spam'}
本文參考鏈接:
https://www.imooc.com/wenda/detail/561674
https://www.runoob.com/python/python-func-zip.html