Python - 从dict中的列表中获取字符串

时间:2013-08-28 16:04:05

标签: python

我知道这很简单,但我无法绕过它。我想在下面的词典/列表中访问歌曲“Sunrise”。用Python做这件事的正确方法是什么?

{"Player": 
    {"Playlist": 
        [
            {"Song" : "Foo", "Album" : "Bar"}, 
            {"Song" : "Sunrise", "Album", : "Random"}
        ]
    }
}

2 个答案:

答案 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,其值为listdict个。{/ p>


  

d['Player']['Playlist'][0]

结果{'Album': 'Bar', 'Song': 'Food'}

这是一个列表访问器,它访问列表中的第一个元素(在这种情况下,dict包含AlbumSong


  

d['Player']['Playlist'][0]['Album']:

结果:'栏'

在播放列表中列表的第一个元素内使用键Album访问字典的值。


或者,如果你是一个perl家伙,要拼出来,你有一个Player字典,里面有一个Playlists字典,里面有一系列歌曲词典(歌曲数据)它的。

答案 1 :(得分:1)

如果d是您的字典,那么

 d['Player']['Playlist'][1]['Song']