[英]Python list of dictionaries from four different lists
有人可以幫我在 Python 中創建字典列表嗎?
我想將以下列表轉換為 Python 中的字典列表。
value1 = ['name1', 'name2', 'name3', 'name4']
value2 = ['6.0', '8.5', '7.0', '9.5']
value3 = [500, 600, 900, 750]
value4 = ['$$','$$$','$', '$$']
keys = ['name', 'rate', 'rev', 'amount']
The output list of dictionaries should look like this:
[ {'name':'name1', 'rate':'6.0', 'rev':500, 'amount':'$$'},
{'name':'name2', 'rate':'8.5', 'rev':600, 'amount':'$$$'},
{'name':'name3', 'rate':'7.0', 'rev':900, 'amount':'$'},
{'name':'name4', 'rate':'9.5', 'rev':750, 'amount':'$$'} ]
Thanks.
你可以試試這個:
value1 = ['name1', 'name2', 'name3', 'name4']
value2 = ['6.0', '8.5', '7.0', '9.5']
value3 = [500, 600, 900, 750]
value4 = ['$$','$$$','$', '$$']
results = [dict(zip(['name', 'rate', 'rev', 'amount'], i)) for i in zip(*[value1, value2, value3, value4])]
輸出:
[{'amount': '$$', 'rate': '6.0', 'rev': 500, 'name': 'name1'}, {'amount': '$$$', 'rate': '8.5', 'rev': 600, 'name': 'name2'}, {'amount': '$', 'rate': '7.0', 'rev': 900, 'name': 'name3'}, {'amount': '$$', 'rate': '9.5', 'rev': 750, 'name': 'name4'}]
使用列表理解,像這樣
value1 = ['name1', 'name2', 'name3', 'name4']
value2 = ['6.0', '8.5', '7.0', '9.5']
value3 = [500, 600, 900, 750]
value4 = ['$$','$$$','$', '$$']
results = [{'name':name, 'rate':rate, 'rev':rev, 'amount':amount} for name, rate, rev, amount in zip(value1, value2, value3, value4)]
這為您提供了一個字典列表:
[{'amount': '$$', 'name': 'name1', 'rate': '6.0', 'rev': 500},
{'amount': '$$$', 'name': 'name2', 'rate': '8.5', 'rev': 600},
{'amount': '$', 'name': 'name3', 'rate': '7.0', 'rev': 900},
{'amount': '$$', 'name': 'name4', 'rate': '9.5', 'rev': 750}]
我們可以使用zip
一次從value1
、 value2
、 value3
和value4
中獲取一個值,並將它們輸入到列表中的每個字典中。 然后我們用列表推導式迭代這個列表對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.