[英]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.