假设我有一个名为 everythird 的函数,它以一个列表作为其参数并返回一个新列表,其中包含原始列表的每三个元素,从索引 0 开始。我知道如何使用切片表示法执行此操作(返回 everythird[0::3 ]),但我们只能使用 while 循环。如果我输入 everythird([1, 2, 3, 4, 5, 6, 7, 8]),我希望它返回 [1, 4, 7]。我尝试了几种不同的方法,但我没有得到一个列表,或者我只得到一个值。如何返回列表?另外,您如何确定某些内容是否修改或不修改原始列表?
谢谢你。
这是我尝试的方法之一:every_third([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
def everythird(l):
'''(list) -> list
Returns every third element of original list, starting at index 0'''
i = 0
while i < len(l):
print(l[i])
i += 3
这打印
1
4
7