【发布时间】:2021-08-04 05:59:39
【问题描述】:
我有一长串这样的字典:
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() 参数必须是字符串、类似字节的对象或数字,而不是“列表””。与此方法类似,可以将日期拆分为单独的字符串。
我认为我可以通过使用类似于 dict_data['date'][1] 的内容来访问月份来访问日期的列表值,但这也不起作用,我假设因为我有一个字典列表,而不仅仅是一个?我需要遍历字典列表吗?我该怎么做?
【问题讨论】:
-
这能回答你的问题吗? Convert all strings in a list to int
-
这能回答你的问题吗? Python list of dictionaries search
-
row['data']是一个列表,因此您需要单独转换所有值,例如row['date'] = list(map(int, row['date']))
标签: python list dictionary type-conversion