如何通过循环在Jupyter Notebook中显示多个YouTube视频?
解决Jupyter Notebook循环显示YouTube视频失效的问题
你的代码问题在于:Jupyter Notebook只会自动渲染单元格顶层最后一个表达式的返回值,循环内部调用show_vid(i)返回的YouTubeVideo对象不会被主动展示,必须显式调用display()函数来输出内容。
修改方案
只需从IPython.display额外导入display函数,然后在循环里主动显示每个视频对象即可:
from IPython.display import YouTubeVideo, display def show_vid(video_id): return YouTubeVideo(video_id, width=800, height=300) video_id_list = ['WSbgixdC9g8', 'GgIxIZhEAs0', 'eB2OpurOFhk', 'cd0Fy92_w_s'] for i in video_id_list: display(show_vid(i)) # 显式调用display展示视频
另一种写法(把display整合到函数内)
如果不想每次循环都写display,也可以直接在函数内部完成显示逻辑:
from IPython.display import YouTubeVideo, display def show_vid(video_id): vid = YouTubeVideo(video_id, width=800, height=300) display(vid) # 函数内部直接显示 video_id_list = ['WSbgixdC9g8', 'GgIxIZhEAs0', 'eB2OpurOFhk', 'cd0Fy92_w_s'] for i in video_id_list: show_vid(i)
内容的提问来源于stack exchange,提问作者ChrisFr33man
相关产品推荐
相关产品推荐

