新手在这里,所以请耐心等待......我已经尝试过在Python.org和谷歌上进行研究,但我仍然不清楚这里发生了什么。
基本问题是:
在以下迭代循环中做什么是休息?
为什么两个if语句都有效,即使使用“>=
”而另一个使用“<=
”?
为什么Feed中解析的项目数量不同?第一个解析5个项目,第二个解析6个项目。
脚本#1:
Import feedparser
d = feedparser.parse('http://smrss.neulion.com/u/nhl/mrss/sights-and-sounds/vod.xml')
for index, item in enumerate(d.entries):
if index >= 5:
break
print item.title
脚本#1输出:
景点和声音:火焰与鸭子 - 第2场
景点和声音:狂野与黑鹰 - 第2场
Mic'd Up:Kucherov打破了他的第三个进球Mic'd Up:Kucherov打破了他的第二个进球
景点和声音:首都与流浪者 - 第2场比赛
脚本#2:
Import feedparser
d = feedparser.parse('http://smrss.neulion.com/u/nhl/mrss/sights-and-sounds/vod.xml')
for index, item in enumerate(d.entries):
if index <= 5:
print item.title
脚本#2输出:
景点和声音:火焰与鸭子 - 第2场
景点和声音:狂野与黑鹰 - 第2场
Mic'd Up:Kucherov打破了他的第二个进球
Mic'd Up:Kucherov打破了他的第二个进球
景点和声音:首都与流浪者 - 第2场比赛
第1轮的最佳景点和声音
答案 0 :(得分:1)
这是一个迭代文档http://smrss.neulion.com/u/nhl/mrss/sights-and-sounds/vod.xml
中可用条目的循环:
for index, item in enumerate(d.entries):
enumerate()
调用此处将['alice', 'bob', 'frank']
之类的列表转换为元组列表,其中每个元组包含列表中相应项的索引,例如[(0, 'alice'), (1, 'bob'), (2, 'frank')]
。
在循环中,index
获取索引的值,item
从d.entries
分配相应的项目。第一个循环体看起来像这样:
if index >= 5:
break
print item.title
这说,&#34;如果索引大于或等于5,则退出循环&#34;。因此,这将打印索引为0,1,2,3,4或5的项目标题,然后退出循环(即,它打印前六个条目)。
第二个循环体看起来像这样:
if index <= 5:
print item.title
这说,&#34;如果索引小于或等于5,则打印项目标题&#34;。这将也打印前六个条目,但循环将继续迭代所有剩余的条目而不打印它们。