Reduzieren Sie eine unregelmäßige (willkürlich verschachtelte) Liste von ListenPython

Python-Programme
Guest
 Reduzieren Sie eine unregelmäßige (willkürlich verschachtelte) Liste von Listen

Post by Guest »

Ja, ich weiß, dass dieses Thema schon einmal behandelt wurde:
  • Python-Idiom zur Verkettung (Abflachung) eines unendlichen Iterables aus endlichen Iterables?
  • Eine flache Liste in Python reduzieren
  • Verständnis für die Reduzierung einer Folge von Sequenzen?
  • Wie erstelle ich eine flache Liste? aus einer Liste von Listen?
aber soweit ich weiß, schlagen alle Lösungen bis auf eine auf einer Liste wie [[[1, 2, 3], [4, 5]], 6], wobei die gewünschte Ausgabe [1, 2, 3, 4, 5, 6] ist (oder vielleicht noch besser, ein Iterator).
Die einzige Lösung, die ich gesehen habe und die für eine beliebige Person funktioniert Verschachtelung findet sich in dieser Frage:

Code: Select all

def flatten(x):
result = []
for el in x:
if hasattr(el, "__iter__") and not isinstance(el, basestring):
result.extend(flatten(el))
else:
result.append(el)
return result
Ist das der beste Ansatz? Habe ich etwas übersehen? Irgendwelche Probleme?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post