我有一份字典清单。像这样的
'authors': [
[
{
'name': 'ABC',
'ids': [
'144548847'
],
}
{
'text': 'ABC',
'fragments': [
]
}
],
[
{
'name': 'XYZ',
'ids': [
'145715698'
],
'slug': 'Xy-z'
},
{
'text': 'X.y.Z',
'fragments': [
]
}
]
]
我想提取所有作者的'名字'(可能有两个以上的作者)。 只有这样我才能得到ABC
for values in results:
"Author(s) :",values['authors'][0][0]['name']
这里的结果是主字典,它的值是字典列表,我想从字典中提取作者的名字
我试着做了下面的操作,但是它给了我类型错误:列表索引必须是整数或片,而不是str
for values in results:
"Author(s) :",values['authors'][0][0:]['name']
下面是一个简单的方法,可以对任意结构的深层数据集使用递归:
为了使它更好、更通用,您可以将全局列表
authors
更改为局部变量,并创建它,然后在递归中传递。如果你想要这个功能的话,我将把这个练习留给你编辑:仅使用列表理解:
这是不太干净,很难阅读,但,所以我会小心接近它这样做
你试过了吗
相关问题 更多 >
编程相关推荐