Python λεξικό από τα πλήκτρα ()

Η μέθοδος fromkeys () δημιουργεί ένα νέο λεξικό από τη δεδομένη ακολουθία στοιχείων με μια τιμή που παρέχεται από τον χρήστη.

Η σύνταξη της fromkeys()μεθόδου είναι:

 dictionary.fromkeys (ακολουθία (, τιμή))

fromkeys () Παράμετροι

fromkeys() Η μέθοδος παίρνει δύο παραμέτρους:

  • ακολουθία - ακολουθία στοιχείων που πρόκειται να χρησιμοποιηθούν ως κλειδιά για το νέο λεξικό
  • τιμή (Προαιρετικό) - τιμή που ορίζεται σε κάθε στοιχείο του λεξικού

Επιστροφή τιμή από fromkeys ()

fromkeys() Η μέθοδος επιστρέφει ένα νέο λεξικό με τη δεδομένη ακολουθία στοιχείων ως τα κλειδιά του λεξικού.

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

Παράδειγμα 1: Δημιουργήστε ένα λεξικό από μια ακολουθία πλήκτρων

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) vowels = dict.fromkeys(keys) print(vowels)

Παραγωγή

 ('a': Κανένα, 'u': Κανένα, 'o': Κανένα, 'e': Κανένα, 'i': Κανένα) 

Παράδειγμα 2: Δημιουργήστε ένα λεξικό από μια ακολουθία πλήκτρων με τιμή

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = 'vowel' vowels = dict.fromkeys(keys, value) print(vowels)

Παραγωγή

 ('a': 'vowel', 'u': 'vowel', 'o': 'vowel', 'e': 'vowel', 'i': 'φωνήεν') 

Παράδειγμα 3: Δημιουργία λεξικού από μεταβλητή λίστα αντικειμένων

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = (1) vowels = dict.fromkeys(keys, value) print(vowels) # updating the value value.append(2) print(vowels)

Παραγωγή

 ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) ('a': (1, 2) ), "u": (1, 2), "o": (1, 2), "e": (1, 2), "i": (1, 2)) 

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

Αυτό συμβαίνει επειδή σε κάθε στοιχείο εκχωρείται αναφορά στο ίδιο αντικείμενο (δείχνει το ίδιο αντικείμενο στη μνήμη).

Για να αποφύγουμε αυτό το ζήτημα, χρησιμοποιούμε την κατανόηση λεξικού.

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = (1) vowels = ( key : list(value) for key in keys ) # you can also use ( key : value(:) for key in keys ) print(vowels) # updating the value value.append(2) print(vowels)

Παραγωγή

 ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) 

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

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

ενδιαφέροντα άρθρα...