Tôi có danh sách các danh sách được lồng trong nhiều lớp danh sách.python: flatten vào danh sách các danh sách nhưng không còn
đầu vào có thể:
[[[[1,2,3] , [a,b,c]]]]
hoặc [[[1,2,3] , [a,b,c]]]
hoặc [[[1,2,3]] , [[a,b,c]]]
khi tôi sử dụng flat()
nó sẽ chỉ làm phẳng tất cả mọi thứ mà không phải là những gì tôi muốn.
[1,2,3,a,b,c]
Những gì tôi cần thay vào đó là
[[1,2,3] , [a,b,c]]
là đầu ra cuối cùng.
nét phẳng của tôi là dưới
def flat(S):
if S == []:
return S
if isinstance(S[0], list):
return flat(S[0]) + flat(S[1:])
return S[:1] + flat(S[1:])