【问题标题】:How to change every element in a list of list that is convertible into integer [duplicate]如何更改可转换为整数的列表列表中的每个元素[重复]
【发布时间】:2020-03-16 06:08:14
【问题描述】:

我有一个简单的列表列表

a = [['A','10'],['B','30']]

如何更改它,以便只有那些可以转换为整数的元素才转换为整数。

所以我希望得到

a = [['A',10],['B',30]]

【问题讨论】:

  • 内部子列表总是大小为 2 吗?并且总是要在索引 1 处转换为整数的字符串?
  • 如果你的数字总是正整数new_a = [[int(v) if v.isdigit() else v for v in l] for l in a]

标签: python python-3.x string list


【解决方案1】:

您可以使用 try except 块,如下所示。

def try_convert_int(val):
    try:
        return int(val)
    except ValueError:
        return val

a = [['A','10'],['B','30']]

out = [[try_convert_int(item) for item in row] for row in a]
print(out) #[['A', 10], ['B', 30]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 2013-09-27
    • 2018-05-27
    相关资源
    最近更新 更多