【发布时间】:2019-08-22 20:22:16
【问题描述】:
我有一组需要清理的嵌套列表(深度不超过三个)。一个类似的例子是这样的:
test = [['qte%#', 'EKO*^'], ['eoim&', ['35ni%', 'mmie']]]
我想运行以下命令:
re.sub(r'[^a-zA-Z\d\[\] ], '', test)
我知道这里的问题是我需要遍历嵌套列表,但是我在保持结构时遇到了麻烦。也许还有一种更简单的方法来解决这个问题。我已经尝试过这种变体:
for a in test:
for b in a:
if isinstance(b, list):
for c in b:
c = re.sub(r'[^a-zA-Z\d\[\] ]', ' ', c)
clean.append(c)
else:
print(b)
b = re.sub(r'[^a-zA-Z\d\[\] ]', ' ', b)
clean.append(b)
【问题讨论】:
标签: regex python-3.x list