2017-11-10 15 views
-6

私はちょうどlambdaの機能をPythonで見つけたので、ちょうどそれを試してみました。 ここで私はPythonでラムダ関数を使用する

a="ABCD" 
b=map(lambda x:a[int(x)],a) 
print(list(b)) 

を試してみましたが、これは誤り ValueError: invalid literal for int() with base 10: 'A' を与えるが、この

[A,B,C,D]

のようなO/Pこの上の任意の説明を期待していました。あなたは整数に "A" を変換することはできませんので、

おかげ

+0

'ラムダXを利用することができます:[INT(X)]'これが 'lambda'機能ではありません文字を大文字にしています。 –

+2

なぜあなたは手紙に 'int'を呼んでいますか?それは何を期待していますか? –

+4

なぜ 'list(a)'だけではないのですか? –

答えて

1

INT(x)は、あなたのエラーを生成

正しい次のようになります。

コメントで述べたように
a="ABCD" 
b=map(lambda x:x,a) 
print(list(b)) 

、次の結果は同じです:

print(list(a)) 

あなたはおそらくさらにいくつかの子羊をチェックアウトする必要があります最初のダチュートリアル:あなたはintに直接alphabatesを変換することはできませんhttp://www.secnetix.de/olli/Python/lambda_functions.hawk

0

、あなたがord()

In [8]: a="ABCD" 

In [9]: b=map(lambda x:x,a) 

In [10]: print(list(b)) 
['A', 'B', 'C', 'D'] 
+0

を直接操作することができます。 –

+0

はい、しかし直接アルファベットでは@cᴏʟᴅsnotできません – Sanket

関連する問題