Python 如何将列表更改为词典

Python 如何将列表更改为词典,python,json,list,dictionary,Python,Json,List,Dictionary,我目前正在使用python中的API,并试图从某些作者那里检索以前的机构ID 我已经到了这一点 my_auth.hist_姓名['affiliation'] 哪些产出: [{'@_fa': 'true', '@id': '60016491', '@href': 'http://api.elsevier.com/content/affiliation/affiliation_id/60016491'}, {'@_fa': 'true', '@id': '60023955', '

我目前正在使用python中的API,并试图从某些作者那里检索以前的机构ID

我已经到了这一点

my_auth.hist_姓名['affiliation']
哪些产出:

[{'@_fa': 'true',
  '@id': '60016491',
  '@href': 'http://api.elsevier.com/content/affiliation/affiliation_id/60016491'},
 {'@_fa': 'true',
  '@id': '60023955',
  '@href': 'http://api.elsevier.com/content/affiliation/affiliation_id/60023955'},
 {'@_fa': 'true',
  '@id': '109604360',
  '@href': 'http://api.elsevier.com/content/affiliation/affiliation_id/109604360'},
 {'@_fa': 'true',
  '@id': '112377026',
  '@href': 'http://api.elsevier.com/content/affiliation/affiliation_id/112377026'},
 {'@_fa': 'true',
  '@id': '112678642',
  '@href': 'http://api.elsevier.com/content/affiliation/affiliation_id/112678642'},
 {'@_fa': 'true',
  '@id': '60031106',
  '@href': 'http://api.elsevier.com/content/affiliation/affiliation_id/60031106'}]
这里的类型是列表

我想用这个列表作为字典来检索
“@id”

节一种简单的方法是使用,它根据iterable的元素创建一个新列表。使用此功能的实现可以是:

ids = [item['@id'] for item in my_auth.hist_names['affiliation']]

这将创建一个列表,其中包含与
@id
键关联的每个值。

您可以使用pandas将dict列表作为数据帧加载

import pandas as pd
my_auth.hist_names['affiliation']
df = pd.Dataframe(my_auth.hist_names['affiliation'])
print(df['@id'])
通过这种方式,您可以获得一个数据集,其中每一行都是列表的字典,您可以按列对
'@id'

使用pd.Dataframe(my_auth.hist_names['affiliation']),您可以获得

   @_fa        @id                                              @href
0  true   60016491  http://api.elsevier.com/content/affiliation/af...
1  true   60023955  http://api.elsevier.com/content/affiliation/af...
2  true  109604360  http://api.elsevier.com/content/affiliation/af...
3  true  112377026  http://api.elsevier.com/content/affiliation/af...
4  true  112678642  http://api.elsevier.com/content/affiliation/af...
5  true   60031106  http://api.elsevier.com/content/affiliation/af...
对于df['@id'],您的id

0     60016491
1     60023955
2    109604360
3    112377026
4    112678642
5     60031106
Name: @id, dtype: object

数据是JSON格式的,您可以使用python的JSON库来处理它们


我喜欢这个想法,但是,我得到了一个错误,即使是在从字符串转换为listWelcome to SO时。这不是一个讨论论坛或教程。请花点时间阅读和阅读该页面上的其他链接。
import json
result_dict = json.load(given_string)