我已经为列表展开编写了自己的简单解决方案:
lists = [0, 10, [20, 30], 40, 50, [60, 70, 80], [90, 100, 110, 120]]
new = []
for item in lists:
if str(item).isdigit() != True:
for v in item:
new.append(v)
else:
new.append(item)
print(new)
然而我想要在下面的代码中添加一个else
/elif
,从而使代码更短:
new = [v for item in lists if str(item).isdigit() != True for v in item]
我不知道该怎么做,总是遇到语法错误。
collections.abc.Iterable
。 - Aaroniter
并捕获异常是正确的方法,但这会使示例变得复杂并且失去重点。 - Selcuknew = [v for item in lists for v in (item if str(item).isdigit() != True else [item])]
- Rishad