![](/img/trans.png)
[英]Python list of nested lambdas executes last element of lambda list only
[英]Accessing a list with only recursion and lambdas
作為我家庭作業的一部分,我必須在沒有 for 循環的情況下訪問每個元素 oa 列表,以便在允許使用的 function 中使用它,例如:
myList=['Hello','World']
我試過使用 lambda 函數(因為我不允許用 Def 聲明函數)但沒有用。
function(next(myList))
還嘗試使用 next(myList) 但有時列表可以包含 1000 多個元素。
使用 lambda 和 map 將 function 應用於每個元素:
myList=['Hello','World']
list(map(lambda x: x.upper(), myList))
使用 map 是最短的方法。 您不需要 lambda。
li = list(range(10)) # this is your list
list(map(print, li)) # view each element
如果您可以使用 function 您可以使用該技巧
您可以使用遞歸來訪問所有元素。
首先創建一個 function 來讀取第一個元素並刪除該元素。
一次又一次地使用那個 function 直到列表為空。
def show(my_list):
try:
print(my_list[0])
del my_list[0]
show(my_list)
except:
pass
或者如果你想做一些動作
new = []
def action(my_list):
try:
x = do_something(my_list[0])
del my_list[0]
new.append(x)
action(my_list)
except:
pass
這里do_something(data)
是您的自定義 function。
我相信最干凈的方法是使用map
function:
l = [1,2,3]
list(map(lambda x : print(x), l))
# returns
# >> 1
# >> 2
# >> 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.