在Python中将嵌套列表列表的元素从字符串转换为整数

发布于 2021-01-29 15:01:01

我有一个字符串格式的列表嵌套列表,如下所示:

   l1 = [['1', '0', '3'],['4', '0', '6'],['0', '7', '8'],['0', '0', '0', '12']]

我想将所有嵌套列表中的所有元素都转换为整数,在这种情况下,可以在循环内使用map函数:

>>> for i in range(len(l1)):
...     l1[i]=list(map(int,l1[i]))

问题是我有很多这样的列表,它们具有多层嵌套,例如:

l2 = ['1','4',['7',['8']],['0','1']]
l3 = ['0',['1','5'],['0','1',['8',['0','2']]]]

有没有不使用循环即可解决此问题的通用方法?

关注者
0
被浏览
94
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    递归可以很好地解决您的问题。

    def convert_to_int(lists):
      return [int(el) if not isinstance(el,list) else convert_to_int(el) for
    

    el in lists]

    l2 = ['1','4',['7',['8']],['0','1']]  
    l3 = ['0',['1','5'],['0','1',['8',['0','2']]]] 
    convert_to_int(l2)
    >>>[1, 4, [7, [8]], [0, 1]] 
    convert_to_int(l3)
    >>>[0, [1, 5], [0, 1, [8, [0, 2]]]]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看