我的目标是尝试返回列表中具有偶数位置的所有值。以下是我的python代码。我不知道应该更新哪一部分。请帮忙!!谢谢
def evenValue(numbers):
results = []
for x in numbers:
if results.index(x) %2 ==0:
results.append(x)
return results
我的错误讯息是
> Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
evenValue([1,2,3,4,5,6])
File "<pyshell#6>", line 4, in evenValue
if results.index(x) %2 ==0:
ValueError: 1 is not in list
答案 0 :(得分:7)
试试这个。切片采用偶数编号的元素。
def evenValue(numbers):
return numbers[0::2]
或更短:
evenValue=lambda numbers: numbers[0::2]
答案 1 :(得分:0)
使用列表理解:
lst = list(range(50))
even_indexes = lambda numbers: [lst[i] for i in range(len(lst)) if i%2==0]
even_indexes(lst)