我知道这很简单,但我无法绕过它。我想在下面的词典/列表中访问歌曲“Sunrise”。用Python做这件事的正确方法是什么?
{"Player":
{"Playlist":
[
{"Song" : "Foo", "Album" : "Bar"},
{"Song" : "Sunrise", "Album", : "Random"}
]
}
}
答案 0 :(得分:4)
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'}
要访问字典中列表的元素,在此实例中Sunrise
内的值为Song
:
for song in d['Player']['Playlist']:
if song['Song'] is 'Sunrise':
#do thing with song here
print song
打印:
{'Album': 'Random', 'Song': 'Sunrise'}
在Python中,Dictionary可以包含给定键的许多不同类型的值。打破你的字典,这就是一切实际上:
{"Player":
{"Playlist":
[
{"Song" : "Foo", "Album" : "Bar"},
{"Song" : "Sunrise", "Album", "Random"}
]
}
}
d['Player']:
结果:{'Playlist': [{'Album': 'Bar', 'Song': 'Food'}, {'Album': 'Random', 'Song': 'Sunrise'}]}
Key是一个字符串,值是播放列表的字典。
d['Player']['Playlist']:
结果:{'Playlist': [{'Album': 'Bar', 'Song': 'Food'}, {'Album': 'Random', 'Song': 'Sunrise'}]}
密钥为Playlist
,其值为list
个dict
个。{/ p>
d['Player']['Playlist'][0]
结果:{'Album': 'Bar', 'Song': 'Food'}
这是一个列表访问器,它访问列表中的第一个元素(在这种情况下,dict
包含Album
和Song
d['Player']['Playlist'][0]['Album']:
结果:'栏'
在播放列表中列表的第一个元素内使用键Album
访问字典的值。
或者,如果你是一个perl家伙,要拼出来,你有一个Player
字典,里面有一个Playlists
字典,里面有一系列歌曲词典(歌曲数据)它的。
答案 1 :(得分:1)
如果d
是您的字典,那么
d['Player']['Playlist'][1]['Song']