2012-04-17 4 views
1

可能性の重複:
Python: How do I convert an array of strings to an array of numbers?マッピングのInt - Pythonの

私はint型に文字列のリストをマップしようとしている、と私はInt関数をマップするとき、それが分割されます2つの項目リストに2桁の数字:

私は次のコードを持っている:

>>> MyList 
['10', '5', '6', '7', '8', '9'] 
>>> MyList = [map(int,x) for x in MyList] 
>>> MyList 
[[1, 0], [5], [6], [7], [8], [9]] 

は、次のようになりますリストを取得するための正しい方法は何ですか:

map(int, MyList) 

または、ほとんどの状況では、リストの内包表記を使用します:直接リスト上の

[10, 5, 6, 7, 8, 9] 

答えて

9

使用map(int, ...

[int(x) for x in MyList] 

ただし、両方ではありません。

mapは、iterable内のすべての項目にその機能を適用します。つまり、その目的です。

同様に、リストの理解はイテラブルのすべての項目で式を実行します。したがって、毎回実行する式だけのmapは必要ありません。

+0

クイックレスポンスありがとう – Nick

+0

python3.xでは 'map'はリストではなくイテレータを返します。したがって、python2.xでは上記の2つは同等ですが、python3.xではわずかな違いがあります。 – mgilson

+0

@mgilson良いことだが、このケースでは彼は答えのコードのためにPython 2を使っていることが分かっている。 – agf

関連する問題