Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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 无法根据列表替换我的json对象中的字段值_Python_Python 3.x - Fatal编程技术网

Python 无法根据列表替换我的json对象中的字段值

Python 无法根据列表替换我的json对象中的字段值,python,python-3.x,Python,Python 3.x,我有以下清单 categories=[{'Housing': 1}, {'Movies': 2}, {'Banking': 3}, {'Restaurant': 4}, {'Travel': 5}] 我想用上面类别列表中的值替换下面数据集的名称字段 categories_src=[ {'id':0,'name':'Banking'}, {'id':1,'name':'Home'}, {'id':2,'name':'Travel'}, {'id':3,'name':'Movies'} ] 我尝

我有以下清单

categories=[{'Housing': 1}, {'Movies': 2}, {'Banking': 3}, {'Restaurant': 4}, {'Travel': 5}]
我想用上面类别列表中的值替换下面数据集的名称字段

categories_src=[
{'id':0,'name':'Banking'},
{'id':1,'name':'Home'},
{'id':2,'name':'Travel'},
{'id':3,'name':'Movies'}
]
我尝试了下面的,但它不适用于字符串。。 我可以将其用于整数字段

    categories ={2:1,3:4,4:8,5:12,6:16,7:20,8:40,9:80,10:100}
    for cat in categories_src:
        cat['id']=categories[cat['id']]
我不能将其用于字符串,如何根据需要获取源数据集中的名称字段以类别值替换

若我能把下面的列表转换成字典,我想它应该能用。我试过了,但没有成功

如何将上面的列表转换为下面的字典

categories={'Housing': 1, 'Movies': 2, 'Banking': 3, 'Restaurant': 4, 'Travel': 5}

使用听写理解:

>>> {key:x[key] for x in categories for key in x} 
# {'Travel': 5, 'Restaurant': 4, 'Movies': 2, 'Banking': 3, 'Housing': 1}
>>> {key:x[key] for x in categories for key in x} 
# {'Travel': 5, 'Restaurant': 4, 'Movies': 2, 'Banking': 3, 'Housing': 1}