Python 如何更改列表中可转换为整数的每个元素

Python 如何更改列表中可转换为整数的每个元素,python,python-3.x,string,list,Python,Python 3.x,String,List,我有一个简单的列表 a = [['A','10'],['B','30']] 如何更改它,以便只有那些可以转换为整数的元素才能转换为整数 所以我希望得到 a = [['A',10],['B',30]] 您可以只使用如下所示的try-except块 def try_convert_int(val): try: return int(val) except ValueError: return val a = [['A','10'],['B','3

我有一个简单的列表

a = [['A','10'],['B','30']]
如何更改它,以便只有那些可以转换为整数的元素才能转换为整数

所以我希望得到

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

您可以只使用如下所示的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]]

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