Μια ένθετη λίστα μπορεί να είναι μια λίστα λιστών ή να περιέχει πολλούς τύπους δεδομένων. Εάν έχετε δημιουργήσει ένα από πολλούς μικρότερους τύπους δεδομένων, ίσως θέλετε να το ισοπεδώσετε για να κάνετε τα στοιχεία πιο ευανάγνωστα και προσβάσιμα.
Μάθετε πώς να μετατρέψετε μια ένθετη λίστα σε ευθεία, με τρεις διαφορετικές προσεγγίσεις.
Πώς να ισοπεδώσετε μια λίστα Python
Υπάρχουν μερικοί τρόποι για να ισιώσετε μια ένθετη λίστα στην Python, ανάλογα με την πολυπλοκότητά της. Μια λίστα που περιέχει μόνο λίστες, για παράδειγμα, είναι ευκολότερο να ισοπεδωθεί από μια λίστα με μεικτούς τύπους δεδομένων.
Θα δείτε πώς να χειρίζεστε καθένα από αυτά στις ακόλουθες ενότητες.
Πώς να ισοπεδώσετε μια ένθετη λίστα λιστών με τη συνάρτηση Sum().
Αυτή η μέθοδος ισχύει μόνο για μια λίστα Python με λίστες και περιλαμβάνει τη σύνδεση των στοιχείων σε μια τέτοια ένθετη λίστα. Δεν ισχύει για μια λίστα βρόχων, λεξικών, συνόλων ή μικτών τύπων δεδομένων, επειδή δεν μπορείτε να συνδέσετε αυτούς τους τύπους.
Ενώ μπορείτε να χρησιμοποιήσετε το
Για βρόχος για ισοπέδωση μιας λίστας λιστών, το άθροισμα() η λειτουργία είναι απλή και πιο ευανάγνωστη καθώς είναι α Python one-liner:NestedList = [[1, 3, 4], [2, 4], [7, 9, 0]]
FlatList = άθροισμα (netedList, [])
Τυπώνω(επίπεδη λίστα)
# Έξοδος: [1, 3, 4, 2, 4, 7, 9, 0]
Τρόπος χρήσης του βρόχου for για να ισοπεδώσετε μια μικτή ένθετη λίστα
Μπορείτε να χρησιμοποιήσετε α Python για βρόχο τόσο για μεικτούς όσο και για ομοιογενείς τύπους δεδομένων. Επομένως, λειτουργεί είτε μια ένθετη λίστα περιέχει μόνο λίστες, πλειάδες, σύνολα, λεξικά ή το μείγμα τους:
NestedList = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"μι": 3, "ο":9, "t":7}]
FlatList = []για i στο nestedList:
για k στο i:
FlatList.προσαρτώ(κ)Τυπώνω(επίπεδη λίστα)
# Έξοδος: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'μι', 'ο', 't']
Μπορείτε επίσης να το επιτύχετε αυτό με μια κατανόηση λίστας:
flatList = [k για i στη nestedList για k σε i]
Τυπώνω(επίπεδη λίστα)
# Έξοδος: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'μι', 'ο', 't']
Χειριστείτε τις λίστες Python όπως θέλετε
Μια λίστα Python απλοποιεί τον τρόπο παρουσίασης και πρόσβασης σε δεδομένα, καθώς είναι εύκολο να χειριστείτε. Αν και έχετε δει πώς να ισοπεδώσετε μια ένθετη λίστα Python, υπάρχουν ακόμα πολλές τροποποιήσεις που μπορείτε να εφαρμόσετε σε λίστες, ανάλογα με τον στόχο σας. Για παράδειγμα, η μετατροπή μιας λίστας Python σε λεξικό είναι μια άλλη κοινή εργασία που η Python διευκολύνει.