无法识别列表理解中的嵌套 for 循环 python

Nested for loop in list comprehension not recognised python

我有一个列表列表,我试图遍历其中的每个元素。该列表如下所示:

lsts = [['2020', '2019', '2018'], ['iPhone (1)', '$', '137781', '$', '142381', '$', '164888'], ['Mac (1)', '28622']]

我尝试使用 re 从每个元素中仅删除单个数字是这样的:

new_lst = [re.sub('[0-9]{1}', '', ele) for ele in lst for lst in lsts]

但是我收到以下错误:

NameError: name 'lst' is not defined

我的印象是这应该有效还是不可能?

谢谢

尝试切换 for 循环的顺序:

>>> new_lst = [re.sub('[0-9]{1}', '', ele) for lst in lsts for ele in lst if len(i)]
>>> new_lst
['', '', '', 'iPhone ()', '$', '', '$', '', '$', '', 'Mac ()', '']
>>> 

要没有空字符串,请尝试:

>>> new_lst = [re.sub('[0-9]{1}', '', ele) for lst in lsts for ele in lst if (len(ele) > 1) & (not ele.isdigit())]
>>> new_lst
['iPhone ()', 'Mac ()']
>>>