我正在完成一项家庭作业,我无法弄清楚如何从字典中删除一首歌,我如何才能获得仅在歌曲列表中打印出艺术家的功能?
pl=[]
song ={"song":"Baby","artist":"Justin Bieber","duration":220,"genre":"pop"}
pl.append(song)
def printPlaylist(pl):
for i in range (0,len(pl)):
play = pl [i]
print("song-",play["song"])
print("artist-",play["artist"])
print("duration-",play["duration"])
print("genre-",play["genre"])
print("---")
print("raw list")
printPlaylist(pl)
def addSong(pl,song,artist,duration,genre="pop"):
pl.append ({"song":title,"artist":singer,"duration":time,"genre":kind})
def removeSongs(pl,song):
title = ("Enter a song")
if song in pl:
del song[title]
else:
print = ("Song not in list")
def listByArtist(pl):
listByArtist = sorted(listByArtist,key=pl
答案 0 :(得分:0)
要获取字典的特定值,请通过其键调用它:
song ={"song":"Baby","artist":"Justin Bieber","duration":220,"genre":"pop"}
artist = song["artist"]
print artist #Justin Bieber
从字典中删除你到底是什么意思?
答案 1 :(得分:0)
要从歌曲的LIST(非字典)中删除歌曲,您需要这样的smth:
def removeSongs(pl, song):
removed_indices = []
for ix, s in enumerate(pl):
if s["song"] == song:
removed_indices.append(ix)
for i in removed_indices:
del pl[i]
return True if removed_indices else False
然后你可以像这样使用它:
title = raw_input("Enter song title to remove: ")
smth_was_removed = removeSongs(playlist, title)
if not smth_was_removed:
print("No such song")
else:
print("All songs with that title were removed")
此外,del
并不意味着像列表那样使用;如果要从列表中删除项目,则需要知道其索引:
>>> a = ["Erik", "John", "Mary"]
>>> del a[1] # deletes "John"
>>> a
["Erik", "Mary"]
在字典上,它的工作原理如下:
>>> x = {"a": 1, "b": 2, "c": 3}
>>> del x["b"]
>>> x
{"a": 1, "c": 3}