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 –
*既存のクエストの* none *ネストされたシーケンスを平坦化することについてのnsはあなたを助けますか?かなりの数があります... – jonrsharpe
入力がタプルの場合、明らかに型(l)がリストである場合、正しく動作しません。代わりに 'isinstance(l、(list、tuple))'をチェックしてください。 –