【发布时间】:2020-07-21 19:39:12
【问题描述】:
所以我正在尝试使用 IMDBpy 模块将程序列表连接到它们各自的流派。首先,我试图获取他们的 IMDB ID 的新列表,以便从那里获得相应的流派。 不幸的是,我无法遍历我的程序列表并生成相应 ID 的新列表。不知何故,我的函数在第一次迭代时卡住了。我的定义中缺少什么?
from imdb import IMDB
ia = IMDb()
programs = ['midsomer murders', 'wheeler dealers: dream car', 'solo: a star wars story (2018)']
def ids_list(x):
ids = []
for item in list(x):
movie = ia.search_movie(item)[0].getID()
for movie in movies:
ids.append(movie)
return ids
ids_list(programs)
输出:
['0118401']
您可以看到只有第一项通过,而我的代码建议它应该在通过ia.search_movie(item)[0].getID() 运行后附加列表中的每个项目。提前致谢!
【问题讨论】:
-
将
return ids移出outer-for-loop试试 -
我的意思是
un-indentreturn声明一次 -
是的,刚刚完成,现在我得到一个 IndexError: list index out of range
-
这行 -
ia.search_movie(item)[0]- 有时你可能没有得到任何元素,所以当你尝试访问0-th元素时它会抛出错误 -
在该行之前像这样使用
if len(ia.search_movie(item)):