首页 > 解决方案 > 使用 Python 将列表转换为字典

问题描述

有一个值列表:

list_inside = ["de:14612:1","de:14612:21","de:14612:17","de:14612:16"]

为什么不是{'from': '1', 'to': '16'}我得到这个{'from': '16', 'to': '16'}。我的代码做错了什么?

keys = ["from", "to"]

list_inside = ["de:14612:1","de:14612:21","de:14612:17","de:14612:16"]

for i in list_inside[::len(list_inside)-1]:
    result = dict((key, i.join(i.split(":", 2)[2::1])) for key in keys)

print(result)

标签: python-3.xtransformation

解决方案


利用

keys = ["from", "to"]

list_inside = ["de:14612:1","de:14612:21","de:14612:17","de:14612:16"]
result = {}    #Declare empty dict
for key, v in zip(keys, list_inside[::len(list_inside)-1]):  
    result.update({key: v.split(":", 2)[-1])})  #Use dict.update to update the required values. 

print(result)

输出:

{'to': '16', 'from': '1'}

您当前的方法是压倒一切的result变量。


推荐阅读