将列表值分配给字典

时间:2020-12-23 18:56:25

标签: python arrays list dictionary

我有一个列表prices

prices = [0.9986, 0.8065, -0.1779, 0.8065]

和字典列表mydicts

mydicts = [{'name':'Food1'}, {'name':'Food2'}, {'name':'Food3'}, {'name':'Food4'}]

现在我需要将每个价格项作为键值传递给每个字典中的 price,结果如下:

mydicts = [
    {'name':'Food1', 'price':0.9986}, 
    {'name':'Food2', 'price':0.8065}, 
    {'name':'Food3', 'price':-0.1779}, 
    {'name':'Food4', 'price':0.8065}
    ]

为了做到这一点,我遍历列表和字典列表,并将列表的每个值分配给字典:

for price, dictionary in zip(prices, mydicts):
    dictionary['price'] = price

我想知道是否有更有效的方法来做到这一点,就我而言,我必须为字典列表分配很多值,但我不确定这是否是最有效的方法。

2 个答案:

答案 0 :(得分:2)

您的解决方案没有任何问题。是O(n),效率尽可能高,而且简单简短。

答案 1 :(得分:0)

没有比 O(n) 方法更有效的方法了,因为您必须接触每个索引才能创建每个元素。