Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python—字典列表,当值是列表时,通过键访问值_Python_List_Dictionary_Type Conversion - Fatal编程技术网

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

Python—字典列表,当值是列表时,通过键访问值,python,list,dictionary,type-conversion,Python,List,Dictionary,Type Conversion,我有一长串这样的字典: 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']}] 我需要按

我有一长串这样的字典:

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]来访问date的列表值来访问月份,但这也不起作用,我假设是因为我有一个字典列表,而不仅仅是一个?我需要遍历字典列表吗?我该怎么做?

对于这样的问题,我将使用
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])
。您可以使用地图或列表理解。

这是否回答了您的问题?这回答了你的问题吗<代码>行['data']是一个列表,因此您需要单独转换所有值,例如
行['date']=list(map(int,row['date'])