【发布时间】:2019-11-11 12:53:49
【问题描述】:
我在列表中有一个列表,并且想将所有值更改为整数。我已经完成了这项工作,但假设我让用户指定了他们将拥有的列表中的列表数量。如何将所有这些值也转换为整数?
我有以下代码,它当前采用任何列表或列表中的任何列表,并将所有值转换为整数。我可以看到如何将其扩展到列表中的更多列表,但这可能是不必要的,或者可能还不够。当然,这看起来很慢并且需要大量代码。
for i in l:
index = l.index(i)
l[index] = list(map(int, l[index]))
我的列表是l,l 中的每个列表都是i。我获取 i 的索引,并将其中的所有值转换为整数。如何创建一个函数/循环来接收列表中有多少个列表,并将它们全部转换为整数?
例如在这个输入上:
l = [['6', '5'], '7', ['88', '99', '1']]
上面的代码会返回:
[[6, 5], 7, [88, 99, 1]]
但是,如果我有:
l = [['6', '7'], ['6', ['7', '8']]]
我收到错误:
"TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'"
我知道这是因为我只转换嵌套在列表中的列表,而不是嵌套在嵌套在列表中的列表中的列表,所以它认为我正在尝试将整个列表转换为整数。
长话短说,我如何构建一个可以将任意数量的嵌套列表转换为整数的函数?
【问题讨论】:
标签: python python-3.x list type-conversion int