Rhy*_*rry -2 python for-loop list slice python-3.x
如何打印列表中的所有其他项目而不会给我这个错误?
我很困惑,我已经以百万种不同的方式尝试了这一百万次,但同样的答案.我的代码现在:
item = 0
fruit = ['Strawberry','apple','pear','orange','banana','cucumber','tomato','Kiwi']
for count in fruit:
print(fruit[item])
item = item + 2
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您可以使用列表的切片功能,即您可以将列表内容切片为:
your_list[start:end:step]
Run Code Online (Sandbox Code Playgroud)
用简单的话来说就是创建一个新列表:
startendstep有关更多信息,请阅读:Python的切片表示法
在您的情况下,您可以使用步骤2迭代切片列表.您不需要索引作为指向列表的指针,因为您for将为您执行此操作.您的代码将如下所示:
>>> fruit = ['Strawberry','apple','pear','orange','banana','cucumber','tomato','Kiwi']
>>>
>>> for f in fruit[::2]:
... print f
...
Strawberry
pear
banana
tomato
Run Code Online (Sandbox Code Playgroud)
这里fruit[::2]有价值:
['Strawberry', 'pear', 'banana', 'tomato']
Run Code Online (Sandbox Code Playgroud)
编辑:您的代码失败的原因是,您正在迭代整个列表,假设n长度.但是您以当前位置的两倍索引访问该项目.当你将在第n/2个元素时,你将尝试访问项目为fruit [n],IndexError当你的列表只保留第n-1个索引时,它会引发.