如何用列表中的数据创建带有新KEY的字典?

时间:2016-12-20 07:43:08

标签: python list dictionary

我有以下列表,我想将其转换为字典。

newData = ['John', 4.52, 'Jane', 5.19, 'Ram', 4.09, 'Hari', 2.97, 'Sita', 3.58, 'Gita', 4.1]

我想创建一个这样的字典:

newDict = [{'name': 'John', 'Height': 4.52},
           {'name': 'Jane', 'Height': 5.19},
           {'name': 'Ram', 'Height': 4.09},
           {'name': 'Hari', 'Height': 2.97},
           {'name': 'Sita', 'Height': 3.58},
           {'name': 'Gita', 'Height': 4.1}]

最简单的方法是什么?

3 个答案:

答案 0 :(得分:6)

享受:

newData = ['John', 4.52, 'Jane', 5.19, 'Ram', 4.09, 'Hari', 2.97, 'Sita', 3.58, 'Gita', 4.1]

newDict = [
    {"name": name, "height": height}
    for name, height in zip(newData[::2], newData[1::2])
]

print(newDict)

答案 1 :(得分:5)

以下是您可以执行的快速列表扩展:

newDict = [{ 'name': newData[x], 'Height': newData[x + 1] } for x in range(0, len(newData), 2) ]

诀窍是将step参数与range一起使用,它为您提供其他所有元素。

答案 2 :(得分:2)

newDict = []
for i in range(0,len(newList),2):
    newDict.append(
        {'name':newList[i],
        'hieght':newList[i+1]}
    )