web-dev-qa-db-ja.com

リスト内のすべての文字列をintに変換します

Pythonでは、リスト内のすべての文字列を整数に変換したいです。

私が持っているのであれば:

results = ['1', '2', '3']

どうやってそれを作りますか:

results = [1, 2, 3]
478
Michael

map 関数を使用してください(Python 2.x)。

results = map(int, results)

Python 3では、 map の結果をリストに変換する必要があります。

results = list(map(int, results))
960
cheeken

リスト内包表記を使用する

results = [int(i) for i in results]

例えば.

>>> results = ["1", "2", "3"]
>>> results = [int(i) for i in results]
>>> results
[1, 2, 3]
315
Chris Vig

リストの解釈よりも少し拡張されていますが、同様に便利です。

def str_list_to_int_list(str_list):
    n = 0
    while n < len(str_list):
        str_list[n] = int(str_list[n])
        n += 1
    return(str_list)

例えば.

>>> results = ["1", "2", "3"]
>>> str_list_to_int_list(results)
[1, 2, 3]

また:

def str_list_to_int_list(str_list):
    int_list = [int(n) for n in str_list]
    return int_list
1
2RMalinowski

それを行うにはさまざまな方法があります。

1)地図を使う:

def toInt(string):
    return int(string)


equation = ["10", "11", "12"]
equation = map(toInt, equation)
for i in equation:
    print(type(i), i)

2)map()を使わずにそれを行う

equation = ["10", "11", "12"]
new_list = []
for i in equation:
    new_list.append(int(i))

equation = new_list
print(equation)

それをする方法がたくさんあります。

1