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])
。您可以使用地图或列表理解。
我有一长串这样的词典:
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])
。您可以使用地图或列表理解。