2016-12-23 4 views
-3

リストの最初の(または任意の)要素を整数型にしようとしています。リストのn番目の要素を整数に変換するための1つのライナー

my_list = ['10','Sally'] 

私が試した:

my_list = map(int, ['10','Sally'][0]) 

をそれの出力は次のとおりです。

一行式 my_listにあるように、私は、それを変更するには、私のコードを修正するにはどうすればよい
<map object at 0x7f3549b8aa58> 

[10,'Sally']

+1

[地図を取得する可能性のある重複()へPython 3.xでリストを返す](http://stackoverflow.com/questions/1303347/getting-a-map-to-return-a-list-in-python-3-x) –

+3

'my_list [0] = int(my_list [0]) '? –

+2

途中で '['10'、 'Sally'] [0]'の上に 'int 'をマッピングしています。 –

答えて

3

あなたはこのような何か行うことができます:(を整数に、リストのn番目の要素を変換し

[int(x) if x.isdigit() else x for x in my_list] 
# [10, 'Sally'] 

または多分を:

n = 0 
[int(v) if i == n else v for i, v in enumerate(my_list)] 
# [10, 'Sally'] 
+0

'i 'が文字列でない(つまり' isdigit() 'メソッドを持たない場合)? – elethan

+1

@elethan Right。ここには多くの仮定があります。リストには何も含めることができます。より明確な文脈がなければ、この問題に触れることは困難です。 – Psidom

+0

1つのことだけを変更したい場合、なぜループスルーしますか? – PAS

関連する問題