是的你可以:
l = L[1::2]
这就是全部。结果将包含放置在以下位置的元素(0
基于-,因此第一个元素在position 0
,第二个元素在1
etc):
1, 3, 5
因此结果(实际数字)将为:
2, 4, 6
将[1::2]
在年底只是为了列表切片的符号。通常采用以下形式:
some_list[start:stop:step]
如果省略start
,将使用默认值(0
)。因此,将选择第一个元素(位于position0
,因为索引是0
基于-的)。在这种情况下,将选择第二个元素。
因为省略了第二个元素,所以使用默认值(列表的末尾)。因此,列表是 进行迭代 。
我们还提供了第三个参数(step
)2
。这意味着将选择一个元素,将跳过下一个元素,依此类推…
因此,总结起来,在这种情况下[1::2]
意味着:
:@PreetKukreti提供了有关Python的列表切片表示法的另一种解释的链接。参见此处:解释Python的切片符号
在您的代码中,您显式创建并增加了计数器。在Python中,这不是必需的,因为您可以使用来枚举一些可迭代的对象enumerate()
:
for count, i in enumerate(L):
if count % 2 == 1:
l.append(i)
count = 0
for i in L:
if count % 2 == 1:
l.append(i)
count += 1
有关for
在Python中使用计数器模拟循环的更多信息:在Python“for”循环中访问索引