你的代码不起作用的原因是因为
for count in fruit:
迭代所fruit
列表中的每个项目,所以一旦你在中途点,item
将指向超出了列表的末尾。这是你代码的修改版本来说明:
item = 0
fruit = ['Strawberry', 'apple', 'pear', 'orange', 'banana', 'cucumber', 'tomato', 'Kiwi']
print(len(fruit))
for v in fruit:
print(v, item)
item = item + 2
输出
8
Strawberry 0
apple 2
pear 4
orange 6
banana 8
cucumber 10
tomato 12
Kiwi 14
那么一旦我们达到“香蕉”,fruit[item]
会尝试访问超出fruit
结束一个项目,那引发了一个IndexError
异常。
正如其他人所提到的,通常的方式做在Python这个任务是使用扩展切片:如果你想在奇品
fruit = ['Strawberry', 'apple', 'pear', 'orange', 'banana', 'cucumber', 'tomato', 'Kiwi']
for v in fruit[::2]:
print(v)
输出
Strawberry
pear
banana
tomato
,您可以从1开始切片:
for v in fruit[1::2]:
print(v)
输出
apple
orange
cucumber
Kiwi
或者你也可以只打印片,原样,因为它只是一个列表:
print(fruit[::2])
输出
['Strawberry', 'pear', 'banana', 'tomato']
这不是一个'免费调试我的代码'服务。请描述您在调试代码时所做的观察。 –