我搜索了stackoverflow,看到有人写这个:
[item for item in yourlist if item % 2]
它对我不起作用.
我的代码是这样的:
x = ['apple','fruit','orange','fruit','lemon','fruit']
for i in range(0,len(x),2):
    if i%2 !=0:
        x.pop(i)
print x
这也行不通.它说流行指数超出范围
怎么做?
使用步幅切片:
x = x[1::2]
或者选择奇数项而不是偶数项:
x = x[::2]
第一个从第二个项开始,从输入列表中获取每秒元素.另一个从第一个项目开始从列表中获取每个第二个元素.
演示:
>>> x = ['apple', 'fruit', 'orange', 'fruit', 'lemon', 'fruit']
>>> x[1::2]
['fruit', 'fruit', 'fruit']
>>> x[::2]
['apple', 'orange', 'lemon']
原始代码仅在想要选择偶数值时才有效,而不是偶数索引.您可以使用该enumerate()函数向该循环添加索引:
>>> [f for i, f in enumerate(x) if i % 2]
['fruit', 'fruit', 'fruit']
但切片在这里更容易.
| 归档时间: | 
 | 
| 查看次数: | 129 次 | 
| 最近记录: |