我正在学习如何在for循环中使用lambda函数并面对
l3=['one','two','three']
for i in l3:
lambda i: i.upper()
print(i)
我希望列表中的每个成员都使用大写字母,但输出使用小写字母相同。我在做什么错了?
答案 0 :(得分:0)
正如其他人所评论的那样,您正在打印变量i而不是完全调用lambda
尝试:
x = lambda i: i.upper()
print(x(i))
答案 1 :(得分:-1)
您正在定义lambda,但从未调用过它。你可能的意思是
l3 = ['one','two','three']
for i in l3:
i = (lambda x: x.upper())(i)
print(i)
或
l3 = ['one','two','three']
for i in l3:
f = lambda x: x.upper()
print(f(i))
关于如何使用lambda的例子都不是很好的例子。
此外,请注意,我调用的是参数x
而不是i
,因为lambda中的i
与您使用的i
不同用于迭代列表。