J'ai une liste de listes comme indiqué ci-dessous, mon but est d'obtenir les valeurs numériques à partir de cette liste. Mais le résultat doit être dans un format similaire à celui de la liste d'origine. Par exemple, ma liste ressemble à ceci :
a_list = [['49', 'XT', '19.0', '93'],
['YTX', '124.0', '167 ', '77.0'],
['4 ', 'Y', '128,', '125,'],
['142.0', '120', '141.0'],
['12 ', '51.0'],
['0,', ' 82', '156'],
['82', '102.0'],
['94', 'YYZ', '178.0', '72'],
['120', 'YXT', '142', ' 134'],
['45,', '46', '79.0']]
Le résultat que je souhaite obtenir est le suivant
b_list = [['49', '19.0', '93'],
['124.0', '167 ', '77.0'],
['4 ', '128,', '125,'],
['142.0', '120', '141.0'],
['12 ', '51.0'],
['0,', ' 82', '156'],
['82', '102.0'],
['94', '178.0', '72'],
['120', '142', ' 134'],
['45,', '46', '79.0']]
J'ai écrit le code suivant mais il saute beaucoup de nombres et le format n'est pas le même.
final=[]
for i in a_list:
for num in i:
if num.isdigit():
final.append(num)
Qu'est-ce que je fais de travers ? Et comment faire pour utiliser la compréhension de liste ?