Μετατροπή λίστας σε λεξικό στην Python

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

Ας δούμε διάφορους τρόπους μετατροπής μιας λίστας σε λεξικό.

Εισαγωγή

Πριν μεταβούμε στο σεμινάριο, ας δούμε ένα παράδειγμα μετατροπής μιας λίστας σε λεξικό. Θα έχουμε μια λίστα πλειάδων (κάθε πλειάδα αποτελείται από δύο στοιχεία) ή απλώς μια λίστα στοιχείων. Θα λάβουμε και τα δύο στοιχεία και θα τα μετατρέψουμε σε λεξικά.

Παραδείγματα:

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

Είσοδος: list_one = [(‘a’, ‘A’), (‘b’, ‘B’), (‘c’, ‘C’)]

Έξοδος: {‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’}

Στο παρακάτω παράδειγμα, έχουμε πάρει μια λίστα στοιχείων και τη μετατρέπουμε σε λεξικό με εναλλακτικά στοιχεία ως κλειδί και τιμή. Θα δώσουμε null στο κλειδί εάν δεν έχει μείνει κανένα στοιχείο για αυτό ως κλειδί (αν η λίστα έχει μονό αριθμό στοιχείων).

  23 Καλύτερο χειριστήριο Nintendo Switch και βάση σύνδεσης για όλους

Είσοδος: list_one = [‘a’, ‘A’, ‘b’, ‘B’, ‘c’, ‘C’, ‘d’]

Έξοδος:{‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’, ‘d’: Κανένα}

Είδαμε τον στόχο του σεμιναρίου. Και θα συζητήσουμε και τα δύο παραδείγματα με διαφορετικούς τρόπους. Ας ξεκινήσουμε με το πρώτο παράδειγμα.

Κατάλογος Πλειάδων – Λεξικό

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

  • Αρχικοποιήστε τη λίστα των πλειάδων με εικονικά δεδομένα όπως δίνονται στα παραπάνω παραδείγματα (βεβαιωθείτε ότι κάθε πλειάδα στη λίστα έχει ακριβώς δύο στοιχεία).
  • Περάστε τη μέθοδο της λίστας πλειάδων σε dict και αποθηκεύει το αποτέλεσμα σε μια νέα μεταβλητή.
  • Αυτό ήταν, έχουμε μετατρέψει μια λίστα πλειάδων σε ένα λεξικό με μία γραμμή κώδικα.
# list of tuples
list_of_tuples = [('a', 'A'), ('b', 'B'), ('c', 'C')]

# converting to dictionary
list_of_tuples_dict = dict(list_of_tuples)

# printing the result dict
print(list_of_tuples_dict)

Μπορείτε να δοκιμάσετε την έξοδο του παραπάνω προγράμματος εκτελώντας το. Θα έχετε το αποτέλεσμα όπως βλέπουμε στα παραδείγματα.

  Πώς να δημιουργήσετε ένα bootable USB για οποιοδήποτε λειτουργικό σύστημα επιφάνειας εργασίας

Λίστα – Λεξικό

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

Δείτε το δεύτερο παράδειγμα από την πρώτη ενότητα του σεμιναρίου για περισσότερη σαφήνεια.

Ακολουθήστε τα παρακάτω βήματα για να γράψετε τον κώδικα για το δεύτερο παράδειγμα.

Συμπληρώσαμε την προεπιλεγμένη τιμή ως Καμία για το στοιχείο που δεν θα έχει καμία τιμή (λίστα που περιέχει μονό αριθμό στοιχείων). Για αυτό, πρέπει να χρησιμοποιήσουμε μια μέθοδο που ονομάζεται zip_longest από τα itertools της ενότητας.

  • Εισαγάγετε τα itertools της ενότητας και αρχικοποιήστε μια λίστα με μονό αριθμό στοιχείων που δίνονται στα παραδείγματα.
  • Μετατρέψτε τη λίστα σε επαναληπτικό για να αποφύγετε την επανάληψη των ζευγών κλειδιών και τιμών στη μέθοδο zip_longest.
  • Τώρα, περάστε το iterable στη μέθοδο zip_longest και fillvalue ως None. Θα επιστρέψει ένα αντικείμενο zip.
    • Πρέπει να περάσουμε το iterable δύο φορές καθώς παίρνει κλειδί και τιμή από τους δύο επαναληπτικούς. Στην περίπτωσή μας, τόσο τα κλειδιά όσο και οι τιμές βρίσκονται στον ίδιο επαναληπτικό. Άρα, πρέπει να το περάσουμε δύο φορές πριν το fillvalue.
  • Μετατρέψτε το αντικείμενο στο λεξικό Python χρησιμοποιώντας τη μέθοδο dict.
  • Εκτυπώστε το αποτέλεσμα.
# importing the module
import itertools

# plain list with odd number of elements
plain_list = ['a', 'A', 'b', 'B', 'c', 'C', 'd']

# converting it to iterable to avoid repetition
plain_list_iter = iter(plain_list)

# converting the plain_list to dict
plain_list_dict_object = itertools.zip_longest(plain_list_iter, plain_list_iter, fillvalue=None)

# convert the zip_longest object to dict using `dict`
plain_list_dict = dict(plain_list_dict_object)

# print it
print(plain_list_dict)

Μπορείτε να δώσετε στο fillvalue ότι θέλετε. Δοκιμάστε διαφορετικά πράγματα με αυτό. Και εκτελέστε τον κώδικα για να δείτε εάν λαμβάνουμε την ακριβή έξοδο όπως αναφέρεται στο παράδειγμα ή όχι.

  Πώς να διαγράψετε τον λογαριασμό μου Philo

συμπέρασμα

Ελπίζουμε να σας άρεσε η μετατροπή της λίστας σε λεξικό. Ας συναντηθούμε στο επόμενο σεμινάριο.

Στη συνέχεια, μάθετε πώς να ισοπεδώνετε τη λίστα στην Python.

Καλή Κωδικοποίηση 🙂

Σας άρεσε να διαβάζετε το άρθρο; Τι θα λέγατε να μοιράζεστε με τον κόσμο;