0
혼합 된 유형의 튜플을 목록에 병합하려고합니다.혼합 유형의 튜플을 중첩 해제하려면 어떻게해야합니까?
a = (1, 2, 3, ['first', 'second'])
def flatten(l):
return flatten(l[0]) + (flatten(l[1:]) if len(l) > 1 else []) if type(l) is list else [l]
>>> flatten(a)
[(1, 2, 3, ['first', 'second'])]
>>> flatten(flatten(a))
[(1, 2, 3, ['first', 'second'])]
>>> [flatten(item) for item in a]
[[1], [2], [3], ['first', 'second']]
출력되어야한다 : 다음 함수는 원하는 출력을 생성하지 않는다
>>> [1, 2, 3, 'first', 'second']
이 둘 중 하나 또는 http://stackoverflow.com/questions/406121/flattening-a-shallow-list-in-python –
기존 questio 중 * none * 네 스팅 시퀀스를 병합하는 것과 관련된 ns가 도움이됩니까? 꽤 많이 있습니다 ... – jonrsharpe
만약 입력이 튜플이라면'type (l) is list'가 분명히 올바르게 작동하지 않을 것입니다. 대신 isinstance (l, (list, tuple))를 체크하고 싶을 것입니다. –