2017-05-03 137 views
-5

我无法将具有字符串的列表转换为整数。无法将列表字符串转换为整数

num = ['123'] 

当我尝试:

print(int(num)) 

我得到错误:

TypeError: int() argument must be a string, a bytes-like object or a number, 
not 'list' 

当我尝试:

print(int(str(num))) 

我得到错误:

ValueError: invalid literal for int() with base 10: "['123']" 
+2

您不能将列表转换为整数,但可以将列表中的字符串值转换为整数。 – Matthias

+2

通过使用'int(num [0])' – DavidG

+0

请注意,您也可能无法转换'num = set(['123'])':)尝试和错误不是解决问题的最佳方法。 –

回答

0

你可以这样做:

print(int(num[0])) 

因为名单只有一个成员。

1

要转换的字符串列表中的所有项目:

int_list = [int(x) for x in num] 
0

打字成Python壳牌:

>>> num=['123'] 
>>> type(num) 
<class 'list'> 
>>> type(num[0]) 
<class 'str'> 

所以你可以简单地认为你不能将一个类“列表”到实例一个int以及str。