如何从Python词典列表创建三个单独的值列表,其中每个词典有三个键

use*_*280 3 python dictionary list

我是Python的新手.对于经验丰富的开发人员和编码人员来说,我的问题可能很简单,但我无法找到答案.

我正在通过数据库查询检索一些数据.我成功地将查询返回的每一行组织为具有三个键和每个键的相应值的字典.本质上,我已将查询返回的所有数据行组织到字典列表中.

字典列表看起来有点像这样:

[
    {'Date': date1, 'price': price1, 'itemnumber': number1},
    {'Date': date2, 'price': price2, 'itemnumber': number2},
    ...
]
Run Code Online (Sandbox Code Playgroud)

如何将此词典列表转换为对应于每个键的三个单独列表,即日期,价格和项目编号?

谢谢您的帮助.

Mos*_*oye 6

使用列表推导:

date = [d['Date'] for d in list_of_dicts]
price = [d['price'] for d in list_of_dicts]
itemnumber = [d['itemnumber'] for d in list_of_dicts]
Run Code Online (Sandbox Code Playgroud)

人们也可以用不太可读的内容来做到这一点:

date, price, itemnumber = zip(*[(d['Date'], d['price'], d['itemnumber']) for d in list_of_dicts])
Run Code Online (Sandbox Code Playgroud)

用于operator.itemgetter在第二种情况下将返回的元组转换为列表.