当前位置: 首页 > 面试题库 >

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

慕俊语
2023-03-14
问题内容

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

   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']]]]

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


问题答案:

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

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]]]]


 类似资料:
  • 问题内容: 我该如何打开一个列表,例如: 进入列表列表,例如: 即我想将有序元素分组在列表中,并将其保留在有序列表中。我怎样才能做到这一点? 谢谢 问题答案: 假设data_list的长度是三的倍数

  • 问题内容: 我正在尝试将嵌套列表列表转换为Python 3.3中的元组列表。但是,似乎我没有这样做的逻辑。 输入如下所示: 所需的输出应如下所示: 问题答案: 只需使用列表理解即可: 演示:

  • 问题内容: 将元组列表转换为字符串的最Python方式是哪种? 我有: 而且我要: 我对此的解决方案是: 有没有更Python的方式来做到这一点? 问题答案: 您可能想使用一些简单的方法,例如: ..这很方便,但不能保证能正常工作

  • 问题内容: 我有一个列表格式,如下所示: 如何转换为包含如下所示元素的列表: 问题答案: 用途: 或使用将其视为JSON : 以Python文字作为输入(因此Python源代码中的文本将为您提供一个值),以JSON输入。 演示: 只有当您的输入字符串中包含多个整数列表时,两者之间的区别才会发挥作用。JSON字符串包含unicode,在Python 2上无法正确解释,并且JSON类型只是支持的一部分

  • 问题内容: 最简单的方法是将类似以下的列表转换为: 即使用户在逗号之间加空格,也要在引号内加空格。我还需要处理以下内容: 在Python中。 我可以使用并使用split运算符删除空格,并检查非字母。但是代码变得非常混乱。有快点 方法吗? 问题答案: 使用,你可以安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字典

  • 问题内容: 我有一个嵌套列表,如何将其转换为字典 字典应阅读以下内容 我试图将其更改为Pandas DataFrame并将其转换为字典。但是我正在寻找从列表到字典的直接转换 将感谢您的帮助。在Python 3中期待答案 问题答案: 一种方法是使用,它依次遍历每个列表的第 i 个元素: 按照@Jean-FrançoisFabre的建议,通过打开包,可确保您的值是列表。 结果 另一种方法是使用: