簡體   English   中英

Python 列表作為函數參數

[英]Python list as function argument

我的目標是嘗試返回列表中所有具有偶數位置的值。 以下是我的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

嘗試這個。 切片采用偶數元素。

def evenValue(numbers):
    return numbers[0::2]

或更短:

evenValue=lambda numbers: numbers[0::2]
def evenValue(numbers):
    results = []
    for x in numbers:
        if numbers.index(x) %2 ==0:   #Use 'numbers' list instead of 'results' list
            results.append(x)
    return results
print(evenValue([1,2,3,4,5,6,7]))

輸出

[1, 3, 5, 7]

使用列表理解:

lst = list(range(50))
even_indexes = lambda numbers: [lst[i] for i in range(len(lst)) if i%2==0]
even_indexes(lst)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM