我想把一个夹杂了数值的列表转换成字典数组。
我正在尝试创建一份Python预测数值列表,以便使用JSON API。一旦我有了字典,我将使用 json.dumps
对其进行处理。
my_list = [35, 2.75, 67, 3.45] # in form of: (value, score, value, score)
理想的结果:
my_array_of_dicts = [{'value':35, 'score':2.75}, {'value':67 'score':3.45}]
这里是我尝试的内容。
第一次尝试:
d = dict(zip(my_list[::2], my_list[1::2]))
同时它还生产...
> {35: 2.75,
67: 3.45}
我不确定如何获取自定义键,或将每个键值对作为其自己的字典。第二次尝试:
[{'value':i, 'score':i} for i in my_list]]
> [{'value':35, 'score':35}, {'value':2.75, 'score':2.75},
{'value':67, 'score':67}, {'value':3.45, 'score':3.45}]
离正确还很接近,但是它没有考虑到每个第二个数值都是得分。
57.8 µs
。 - iz_* 100
进行测试,以获得更准确的结果,而你正在使用原始列表进行测试。这是有道理的,因为你的解决方案看起来并不像一种改进。 - iz_timeit
看起来不太公平,因为你事先进行了实际计算。 - iz_