Python列表作为函数参数

时间:2018-02-27 06:41:48

标签: python list

我的目标是尝试返回列表中具有偶数位置的所有值。以下是我的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

2 个答案:

答案 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)