Python - 字典列表,当值是列表时通过键访问值

Python - A list of dictionaries, accessing values by key when the values are a list

我有一长串这样的词典:

dict_data = [{'country': 'canada', 'province': 'alberta', 'city': 'calgary', 'sales': 1450, 'date': ['14', '02', '2021']}, {'country': 'canada', 'province': 'ontario', 'city': 'toronto', 'sales': 2003, 'date': ['12', '02', '2021']}]

我需要按月筛选销售数据以对其进行计算。但是当值是一个列表时,我坚持如何按键访问字典值。首先,我尝试将日期字符串转换为整数。

for row in dict_data: 
    row['date'] = int(row['date'])

我收到错误消息“TypeError:int() 参数必须是字符串、类字节对象或数字,而不是 'list'”。与此方法类似,用于将日期拆分为单独的字符串。

我以为我可以通过使用 dict_data['date'][1] 中的内容来访问日期的列表值来访问月份,但事实并非如此要么工作,我假设是因为我有一个字典列表,而不仅仅是一个?我需要遍历字典列表吗?我该怎么做?

对于这样的问题,我会使用 map

dict_data = [{'country': 'canada', 'province': 'alberta', 'city': 'calgary', 'sales': 1450, 'date': ['14', '02', '2021']}]
for loc in dict_data:
    loc['date'] = list(map(int,loc['date']))

此外,您不能这样做 int([1,2,3])。您可以使用地图或列表理解。