python - 无法从图表中打印每个歌曲的标题。获取AttributeError吗?

标签 python list indexing error-handling

这是短代码:

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,以从列表中提取歌曲标题,但我不知道如何。任何帮助表示赞赏

最佳答案

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)

关于python - 无法从图表中打印每个歌曲的标题。获取AttributeError吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51958145/

相关文章:

android - 当我使用 python 在 appium 中运行测试时,如何防止每次重新安装应用程序

python - TensorFlow 卡住图 : required positional argument ‘unused_args’

python - 如何使用 Python 将文本文件中的数据读取到数组中

mysql - 索引 btree 不起作用

python - 根据用户输入在运行时合并列表

python - 如何根据各种过滤器过滤掉重复项

c# - 对包含坐标 x 和 y 的 List<String> 进行排序

list - 访问列表中的下一个元素以在 Scala 中进行比较

python - 重复索引的 pandas xs 和 loc 之间的不一致

php - 删除带有索引的大型 MySQL 表的性能