如何将列表中的所有字符串转换为整数?

['1', '2', '3']  ⟶  [1, 2, 3]

当前回答

下面的答案,即使是最流行的答案,也并非适用于所有情况。我有这样一个解决方案的超级抗推力str。 我有这样一件事:

AA =[’0’、160。5,160。5、160。1、160。1、160。1,1 160。]

AA = pd.DataFrame(AA, dtype=np.float64)
AA = AA.values.flatten()
AA = list(AA.flatten())
AA

[0.0, 0.5, 0.5, 0.1, 0.1, 0.1]

你可以笑,但这很有效。

其他回答

考虑到:

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

使用map then list获取一个整数列表:

list(map(int, xs))

在Python 2中,list是不必要的,因为map返回一个列表:

map(int, xs)

在列表xs上使用一个列表推导式:

[int(x) for x in xs]

e.g.

>>> xs = ["1", "2", "3"]
>>> [int(x) for x in xs]
[1, 2, 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)

e.g.

>>> 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

这里有一个简单的解决方案,对您的查询进行了解释。

 a=['1','2','3','4','5'] #The integer represented as a string in this list
 b=[] #Fresh list
 for i in a: #Declaring variable (i) as an item in the list (a).
     b.append(int(i)) #Look below for explanation
 print(b)

这里,append()用于将项(即本程序中字符串(i)的整数版本)添加到列表(b)的末尾。

注意:int()是一个帮助将字符串形式的整数转换回整数形式的函数。

输出控制台:

[1, 2, 3, 4, 5]

因此,只有当给定的字符串完全由数字组成时,我们才能将列表中的字符串项转换为整数,否则将产生错误。

下面的答案,即使是最流行的答案,也并非适用于所有情况。我有这样一个解决方案的超级抗推力str。 我有这样一件事:

AA =[’0’、160。5,160。5、160。1、160。1、160。1,1 160。]

AA = pd.DataFrame(AA, dtype=np.float64)
AA = AA.values.flatten()
AA = list(AA.flatten())
AA

[0.0, 0.5, 0.5, 0.1, 0.1, 0.1]

你可以笑,但这很有效。