在python中使用lambda函数
我刚刚在python中遇到了在python中使用lambda函数,python,dictionary,lambda,Python,Dictionary,Lambda,我刚刚在python中遇到了lambda函数,所以我试着使用它。 我试过了 a="ABCD" b=map(lambda x:a[int(x)],a) print(list(b)) 这就产生了错误 ValueError:以10为基数的int()的文本无效:“A” 但我们期待这样的订单 [A,B,C,D] 对此有何解释 谢谢,int(x)会产生您的错误,因为您无法将“A”转换为整数 正确答案是: a="ABCD" b=map(lambda x:x,a) print(list(b)) 如评论中所述
lambda
函数,所以我试着使用它。
我试过了
a="ABCD"
b=map(lambda x:a[int(x)],a)
print(list(b))
这就产生了错误
ValueError:以10为基数的int()的文本无效:“A”
但我们期待这样的订单
[A,B,C,D]
对此有何解释
谢谢,int(x)会产生您的错误,因为您无法将“A”转换为整数
正确答案是:
a="ABCD"
b=map(lambda x:x,a)
print(list(b))
如评论中所述,以下给出了相同的结果:
print(list(a))
您可能应该首先查看更多的lambda教程:您不能将
字母表直接转换为int
,您可以使用ord()
lambda x:a[int(x)]
这不是大写字母的lambda
函数。为什么要对字母调用int
?你期望它做什么?为什么不直接列出(a)
?你能解释一下你认为lambda
函数在做什么吗?我想b=map(lambda x:a[x],a)
会像a[x]会像a[I]
你可以。。。ord
函数就是这样做的。是的,对,但是直接用字母表你不能@cᴏʟᴅsᴘᴇᴇᴅ
In [8]: a="ABCD"
In [9]: b=map(lambda x:x,a)
In [10]: print(list(b))
['A', 'B', 'C', 'D']