无法将列表字符串转换为整数
问题描述:
我无法将具有字符串的列表转换为整数。无法将列表字符串转换为整数
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']"
答
你可以这样做:
print(int(num[0]))
因为名单只有一个成员。
答
要转换的字符串列表中的所有项目:
int_list = [int(x) for x in num]
答
打字成Python壳牌:
>>> num=['123']
>>> type(num)
<class 'list'>
>>> type(num[0])
<class 'str'>
所以你可以简单地认为你不能将一个类“列表”到实例一个int以及str。
您不能将列表转换为整数,但可以将列表中的字符串值转换为整数。 – Matthias
通过使用'int(num [0])' – DavidG
请注意,您也可能无法转换'num = set(['123'])':)尝试和错误不是解决问题的最佳方法。 –