将列表中的所有字符串转换为int


Answers:


1171

使用map功能(在Python 2.x中):

results = map(int, results)

在Python 3中,您需要将结果从map转换为列表:

results = list(map(int, results))

23
我想指出的是pylint不鼓励使用map,因此,如果您曾经使用过该标准,则无论如何都要准备使用列表推导。:)
ThorSummoner 2015年

6
相反是(将int列表转换为字符串列表):map(str,results)
Ali ISSA

12
您可以简化此答案:始终使用list(map(int, results)),它适用于任何Python版本。
mvp


3

比列表理解要扩展一点,但同样有用:

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.