Mengkonversi semua string dalam daftar untuk int

Di Python, saya ingin mengkonversi semua string dalam daftar untuk bilangan bulat.

Jadi jika saya memiliki:

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

Bagaimana cara membuatnya:

results = [1, 2, 3]
Mengomentari pertanyaan (1)
Larutan

Gunakan peta fungsi (di Python 2.x):

results = map(int, results)

Di Python 3, anda akan perlu untuk mengkonversi hasil dari peta untuk daftar:

results = list(map(int, results))
Komentar (3)

Gunakan daftar pemahaman:

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

misalnya

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

Sedikit lebih diperluas dari daftar pemahaman tetapi juga berguna:

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)

misalnya

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

Juga:

def str_list_to_int_list(str_list):
    int_list = [int(n) for n in str_list]
    return int_list
Komentar (0)