我是Python新手。对于经验丰富的开发人员和编码人员来说,我的问题可能很简单,但我一直无法找到答案。
我正在通过数据库查询检索一些数据。我成功地将查询返回的每一行组织为具有三个键和每个键对应值的字典。本质上,我已将查询返回的所有数据行组织到字典列表中。
字典列表看起来有点像这样:
[
{'Date': date1, 'price': price1, 'itemnumber': number1},
{'Date': date2, 'price': price2, 'itemnumber': number2},
...
]
如何将此字典列表转换为与每个键相对应的三个单独的列表,即Date
, Price
and itemnumber
?
Use 列表推导式:
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]
也可以用可读性较差的一行来完成此操作:
date, price, itemnumber = zip(*[(d['Date'], d['price'], d['itemnumber']) for d in list_of_dicts])
或相同但使用operator.itemgetter:
from operator import itemgetter
date, price, itemnumber = zip(*map(itemgetter('Date', 'price', 'itemnumber'), list_of_dicts))
Use map(list, ...)
在第二种情况下将返回的元组转换为列表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)