作为我家庭作业的一部分,我必须访问列表的每个元素,而无需 for 循环才能在我可以使用的函数中使用它,例如:
myList=['Hello','World']
我尝试使用 lambda 函数(因为我不允许使用 Def 声明函数(但没有奏效。
function(next(myList))
也尝试使用next(myList(,但有时列表可以有1000+元素。
将 lambda 与 map 结合使用,为每个元素应用一个函数:
myList=['Hello','World']
list(map(lambda x: x.upper(), myList))
使用地图是最快的方法。你不需要lambda。
li = list(range(10)) # this is your list
list(map(print, li)) # view each element
如果你能使用函数,你可以使用这个技巧
可以使用递归来访问所有元素。
首先创建一个函数来读取第一个元素并删除该元素。
一次又一次地使用该函数,直到列表为空。
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)
是您的自定义函数。
我相信最干净的方法是使用map
函数:
l = [1,2,3]
list(map(lambda x : print(x), l))
# returns
# >> 1
# >> 2
# >> 3