我知道这很简单,但我无法理解它。我想访问以下字典/列表中的歌曲“Sunrise”。使用 Python 执行此操作的正确方法是什么?
{"Player":
{"Playlist":
[
{"Song" : "Foo", "Album" : "Bar"},
{"Song" : "Sunrise", "Album", : "Random"}
]
}
}
请您参考如下方法:
d = {"Player":
{"Playlist":
[
{"Song" : "Foo", "Album" : "Bar"},
{"Song" : "Sunrise", "Album", "Random"}
]
}
}
for song in d['Player']['PlayList']:
print song
打印:
{'Album': 'Bar', 'Song': 'Food'}
{'Album': 'Random', 'Song': 'Sunrise'}
要访问字典中列表的元素,在本例中是 Song 中的值 Sunrise:
for song in d['Player']['Playlist']:
if song['Song'] is 'Sunrise':
#do thing with song here
print song
打印:
{'Album': 'Random', 'Song': 'Sunrise'}
在 Python 中,字典可以包含给定键的许多不同类型的值。打破你的字典,这就是一切的实际情况:
{"Player":
{"Playlist":
[
{"Song" : "Foo", "Album" : "Bar"},
{"Song" : "Sunrise", "Album", "Random"}
]
}
}
d['Player']:
结果:{'Playlist': [{'Album': 'Bar', 'Song': 'Food'}, {'Album': 'Random', 'Song ': '日出'}]}
Key是一个字符串,value是一个播放列表的字典。
d['Player']['Playlist']:
结果:{'Playlist': [{'Album': 'Bar', 'Song': 'Food'}, {'Album': 'Random', 'Song ': '日出'}]}
键是Playlist,值是dictionaries的list。
d['Player']['Playlist'][0]
结果:{'Album': 'Bar', 'Song': 'Food'}
这是一个列表访问器,它访问列表中的第一个元素(在本例中,dict 包含 Album 和 Song)
d['Player']['Playlist'][0]['Album']:
结果:'酒吧'
使用播放列表中列表的第一个元素内的键 Album 访问字典的值。
或者,如果您是 perl 专家,请说明一下,您有一个 Player 的字典,其中有一个 Playlists 的字典,其中有一个字典列表里面的歌曲(歌曲数据)。
