Skip to main content
 首页 » 编程设计

python之将列表字符串转换为整数

2025年05月04日19youxin

我正在尝试将字符串列表转换为整数,但无论我使用哪种方法转换,它总是失败并出现相同的错误。

错误是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]]