我正在练习嵌套列表理解,但遇到一些我无法在线解决或找到任何解决方案的问题:<< / p>
nested_lista = [[2,1,2,3],[1,2,3,4],[4,4,[16,1,3]]]
使用循环可轻松遍历此嵌套列表的每一层
def nested_loops():
for x in nested_lista:
for y in x:
print(y)
if type(y) == list:
for z in y:
print(z)
输出:
2
1
2
3
1
2
3
4
4
4
[16, 1, 3]
16
1
3
现在我正在尝试通过嵌套列表理解来实现类似的输出,但是无论我尝试什么都行不通; /
这是我想出的:
[[[print(y) for y in z if type(z)==list]print(z) for z in x]for x in nested_lista]
或者至少我尝试遍历最后一层,但是它也行不通
[[[print(y) for y in z if type(z)==list] for z in x]for x in nested_lista]
有可能解决这个问题还是我应该放弃?
答案 0 :(得分:0)
假期2周后头脑清醒,我花了30分钟的时间才能得到答案。
准备更多的嵌套:
answer = [[[print(y) if type(y) is not list else print(x) for x in y] if type(y) == list else print(y) for y in z]for z in nested_lista]
较短的结果相同:
answer2 = [[[print(x) for x in y] if type(y) == list else print(y) for y in z]for z in nested_lista]
输出:
2
1
2
3
1
2
3
4
4
4
16
1
3
不确定为什么我会收到“-”。