我正在尝试将字符串列表转换为整数,但无论我使用哪种方法转换,它总是失败并出现相同的错误。
错误是TypeError: int() argument must be a string or a number, not 'list'。
这是我试过的代码:
#list2 = [int(s) for s in list1]
#list2 = map(int, list1)
try:
for i in list1 :
list2.append(int(list1));
except :
print "The int conversion failed"
print list2
初始列表 list1 仅包含一些字符串数字:
[['4183'], ['4034'], ['3342'], ['3482'], ['8567'], ['1052'], ['8135'], ['5561'], ['517'],
['1218'], ['8877']]
如何避免列表输入错误?
请您参考如下方法:
那么问题是您的 list1 包含一个字符串列表。不是字符串列表。
这取决于你想要什么。
如果你想要一个整数列表,你可以这样做:
[int(x) for line in list1 for x in line]这会产生:
>>> [int(x) for line in list1 for x in line] [4183, 4034, 3342, 3482, 8567, 1052, 8135, 5561, 517, 1218, 8877]另一方面,如果您想要一个整数列表,您可以使用:
[[int(x) for x in line] for line in list1]这会产生:
>>> [[int(x) for x in line] for line in list1] [[4183], [4034], [3342], [3482], [8567], [1052], [8135], [5561], [517], [1218], [8877]]
