Ο χειρισμός δεδομένων συμβαίνει πολύ στον προγραμματισμό, ανάλογα με το πρόβλημα που σκοπεύετε να λύσετε. Μπορεί συχνά να βρεθείτε να μετατρέπετε μια δομή δεδομένων σε μια άλλη. Μερικοί τύποι είναι τόσο παρόμοιοι που η μετατροπή μεταξύ τους είναι μια απλή διαδικασία.

Στην Python, η μετατροπή ενός λεξικού σε ένθετη ή ισοπεδωμένη λίστα είναι μια δημοφιλής μετατροπή που θα πραγματοποιήσετε.

Μετατρέψτε ένα λεξικό Python σε λίστα χρησιμοποιώντας ένα βρόχο for

ο Για Ο βρόχος σάς δίνει μεγαλύτερη έλξη στα δεδομένα σας ενώ μετατρέπει ένα λεξικό Python σε λίστα.

Για παράδειγμα, ο ακόλουθος κώδικας μετατρέπει ένα λεξικό σε ένθετη λίστα:

myDictionary = {"A": "Python", "B": "JavaScript", "C": "Node"}
convertedList = []

Για Εγώ σε myDictionary:
convertedList.append([i, myDictionary[i]])

εκτύπωση (convertedList)

# Έξοδος: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]

Ο παραπάνω κωδικός εισάγει κάθε κλειδί (Εγώ) και αξία (το λεξικό μου[i]) ζεύγη σε μεμονωμένες λίστες και τις προσαρτά σε μια κενή λίστα.

instagram viewer

Είναι το ίδιο με το να γράφεις:

Για κλειδί, τιμή σε myDictionary.items():
convertedList.append([κλειδί, τιμή])

Μπορείτε επίσης να τοποθετήσετε κάθε ζευγάρι σε ένα σετ ή πλειάδα. Το μόνο που χρειάζεται να κάνετε είναι να αντικαταστήσετε τα τετράγωνα σιδεράκια ([]) γύρω από κλειδί, τιμή ζευγάρι με σγουρά τιράντες ({}) ή παρένθεση (()) αναλόγως.

Μπορείτε επίσης να το πετύχετε χρησιμοποιώντας ένα Για βρόχο μαζί με Η δυνατότητα κατανόησης λίστας της Python:

convertedList = [[i, myDictionary[i]] Για Εγώ σε το λεξικό μου]

Λειτουργία για τη μετατροπή ενός λεξικού Python σε επίπεδη λίστα

Ενώ τα παραπάνω Για Οι επιλογές βρόχου παράγουν μια ένθετη λίστα, μπορείτε να την αποδομήσετε περαιτέρω σε μια ευθεία λίστα, εάν αυτό θέλετε.

Η ακόλουθη συνάρτηση το κάνει:

defconvertToStraightList(sampleDict):
FlatList = []

Για κλειδί, τιμή σε sampleDict.items():
flatList.extend([κλειδί, τιμή])

ΕΠΙΣΤΡΟΦΗ FlatList

εκτύπωση (convertToStraightList (myDictionary))

# Έξοδος: ['A', 'Python', 'B', 'JavaScript', 'C', 'Node']

Η παραπάνω συνάρτηση επιστρέφει μια ισοπεδωμένη λίστα και η ιδέα είναι απλή. Ο βρόχος προσαρτάται το καθένα κλειδί και αξία ζεύγη σε μια λίστα που επιστρέφει η συνάρτηση όταν ολοκληρωθεί.

Χρήση ενσωματωμένων λειτουργιών One-Liner

Και τα δύο χάρτης και φερμουάρ οι λειτουργίες επιτρέπουν λύσεις Python μιας γραμμής σε αυτό το πρόβλημα, με διαφορετικά αποτελέσματα. Μπορεί να είναι πιο κατάλληλα από το Για βρόχο, ανάλογα με το πρόβλημά σας, και είναι σίγουρα πιο βολικά.

ο φερμουάρ Η συνάρτηση παράγει μια ένθετη λίστα πλειάδων:

convertedList = λίστα (zip (myDictionary.keys(), myDictionary.values()))
εκτύπωση (convertedList)

# Έξοδος: [('A', 'Python'), ('B', 'JavaScript'), ('C', 'Node')]

ο χάρτης Η συνάρτηση, από την άλλη πλευρά, δίνει μια λίστα με λίστες:

convertedList = λίστα (χάρτης (λίστα, myDictionary.items()))
εκτύπωση (convertedList)

# Έξοδος: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]

Μετατροπή μεταξύ λιστών Python και λεξικών με όποιον τρόπο

Αυτοί οι διαφορετικοί τρόποι μετατροπής ενός λεξικού σε λίστα είναι αρκετά απλοί στην Python. Έτσι, μπορείτε να μετατρέψετε ένα λεξικό σε λίστα, αλλά μπορείτε επίσης να κάνετε το αντίθετο μετατρέποντας μια λίστα Python σε λεξικό.

Πώς να μετατρέψετε μια λίστα σε λεξικό στην Python

Διαβάστε Επόμενο

ΜερίδιοΤιτίβισμαΜερίδιοΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ

Σχετικά θέματα

  • Προγραμματισμός
  • Προγραμματισμός
  • Πύθων

Σχετικά με τον Συγγραφέα

Idowu Omisola (Δημοσιεύτηκαν 149 άρθρα)

Ο Idowu είναι παθιασμένος με οτιδήποτε έξυπνη τεχνολογία και παραγωγικότητα. Στον ελεύθερο χρόνο του, παίζει με την κωδικοποίηση και μεταβαίνει στη σκακιέρα όταν βαριέται, αλλά του αρέσει επίσης να ξεφεύγει από τη ρουτίνα που και που. Το πάθος του να δείχνει στους ανθρώπους τον τρόπο γύρω από τη σύγχρονη τεχνολογία τον παρακινεί να γράψει περισσότερα.

Περισσότερα από τον Idowu Omisola

Εγγραφείτε στο ενημερωτικό μας δελτίο

Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για να εγγραφείτε