Python 将嵌套循环中的str转换为int,同时保留实际字符串未输出

Python 将嵌套循环中的str转换为int,同时保留实际字符串未输出,python,list,nested-lists,Python,List,Nested Lists,基本上,我想转换一个嵌套列表,如下所示: mylist = [['Paul','May','1'],['Maria','August','5'],['Elsa','February','3'],['Victor','September','7']] 进入一个列表,在该列表中,可以是整数但作为字符串放入的值将转换为整数。我尝试的是: int_list = [[int(x) for x in lst] for lst in mylist] 但是这只在所有的都是整数的情况下才起作用——我怎样才能获

基本上,我想转换一个嵌套列表,如下所示:

mylist = [['Paul','May','1'],['Maria','August','5'],['Elsa','February','3'],['Victor','September','7']]
进入一个列表,在该列表中,可以是整数但作为字符串放入的值将转换为整数。我尝试的是:

int_list = [[int(x) for x in lst] for lst in mylist]
但是这只在所有的都是整数的情况下才起作用——我怎样才能获得下面的输出呢

mylist = [['Paul','May',1],['Maria','August',5],['Elsa','February',3],['Victor','September',7]]

由于列表是可变的,您可以直接为其分配新值

mylist = [['Paul','May','1'],['Maria','August','5'],['Elsa','February','3'], 
['Victor','September','7']]

for lst in mylist:
  lst[2] = (int)(lst[2])

print(mylist)
# [['Paul', 'May', 1], ['Maria', 'August', 5], ['Elsa', 'February', 3], ['Victor', 'September', 7]]
你是说
[[int(x)if x.isdigit()else x for x in lst]for lst in mylist]