?将列表值转换为字典作为键和值

Art*_*nov 2 python dictionary list

假设有一个列表:['1604780184', '10', '1604780194', '0', '1604780319', '99', '1604780320', '0']

您需要得到如下结果:{'1604780184': '10', '1604780194': '0', '1604780319': '99', '1604780320': '0'}

现在我有这样的:

rline = ['1604780184', '10', '1604780194', '0', '1604780319', '99', '1604780320', '0']
total = {}
print(f"My list: {rline}")

while rline:
    total[rline[0:2][0]] = rline[0:2][1]
    del rline[0:2]

print(f"Dictionary: {total}")
Run Code Online (Sandbox Code Playgroud)

请告知更好的方法。谢谢。

Ham*_*mza 5

最简洁(也可能是最好)的方法可能是:

result = dict(zip(lst[::2], lst[1::2]))
Run Code Online (Sandbox Code Playgroud)

它实际上所做的是利用您的列表遵循的一些模式和一些内置函数!由于每个偶数索引都是待值,奇数索引是待关键,因此更容易对它们进行切片和分离。然后您可以使用zip()形成这些分隔值的集合,然后调用dict()构造函数从中提取字典!