这是短代码:
Import billboard
chart = billboard.ChartData('hot-100')
song = chart[0:99]
print(song.title)
这是错误:
Traceback (most recent call last):
File "Billboardtop100weekly", line 7, in <module>
print(song.title)
AttributeError: 'list' object has no attribute 'title'
试图复制此api,从列表中提取歌曲标题,但我不知道如何。任何帮助表示赞赏
答案 0 :(得分:2)
chart
是歌曲对象的列表。
因此,快速入门文档中的以下代码:
>>> song = chart[0] # Get no. 1 song on chart
>>> song.title
…正在获取第一个歌曲对象,然后获取其标题。这就是[0]
的意思:您正在索要索引#0处的元素。
但是您的问题中的这段代码:
song = chart[0:99]
print(song.title)
…正在获取前99个歌曲对象的一部分(仍然是歌曲列表,而不是歌曲),然后尝试获取其标题。这就是[0:99]
的含义:您要从索引0到(但不包括)索引99的所有元素,这将是一个列表。而且列表没有标题。
如果要打印100首歌曲中前99首的标题,则需要在该片段上循环播放。像这样:
songs = chart[0:99]
for song in songs:
print(song.title)