![](/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.