Python 如何访问嵌套字典元素?

Python 如何访问嵌套字典元素?,python,dictionary,Python,Dictionary,我试图从如图所示映射的字典中获取'id'元素,并将它们存储在数组中: tracks = {'items': [{'track': {'id': 'n232783bb789f'}}, {'track': {'id': '4f438h9f9319b'}}, {'track': {'id': '2nfsffn7f3b28'}}] } 目前,我已尝试使用以下方法执行此操作: track_ids = tracks['it

我试图从如图所示映射的字典中获取
'id'
元素,并将它们存储在数组中:

tracks = {'items': [{'track': {'id': 'n232783bb789f'}}, 
                    {'track': {'id': '4f438h9f9319b'}}, 
                    {'track': {'id': '2nfsffn7f3b28'}}] }
目前,我已尝试使用以下方法执行此操作:

track_ids = tracks['items[track[id]]']

但是没有用。

这是一份口述清单。您需要使用理解来获取所有
id
s,并且要遍历嵌套的dict,您需要使用带有各自键的多片表示法:

[d['track']['id'] for d in tracks['items']]

以下是我的解决方案:

track_ids = [x['track']['id'] for x in tracks['items']]
工作原理:

  • 首先,获取所有项目的数组(
    跟踪[项目]
  • 对于每个条目字典,获取嵌套的id字段(
    x['track']['id]
  • 你可以试试这个

    arr = []
    for ele in tracks['items']:
        arr.append(ele['track']['id'])
    

    这是一个关键错误。一步一个脚印——
    track
    是一本字典,
    track['items']
    是一个列表,等等。感谢您花时间回复,非常有用:)哦,我有个误会,谢谢。我明白为什么上面的代码现在可以工作了。