Junior
Ποια μπορεί να είναι τα κλειδιά στους λεξικούς σε Python;
sobes.tech AI
Απάντηση από AI
Οι κωδικοί στα λεξικά Python μπορούν να είναι οποιαδήποτε αμετάβλητα (hashable) αντικείμενα.
Οι αμετάβλητοι τύποι δεδομένων περιλαμβάνουν:
- Ακέραιους (
int) - Αριθμούς κινητής υποδιαστολής (
float) - Συμβολοσειρές (
str) - Πλειάδες (
tuple) που περιέχουν μόνο αμετάβλητα στοιχεία - Αληθής/Ψευδής (
bool) - NoneType (
None) - Frozenset (
frozenset) που περιέχει μόνο αμετάβλητα στοιχεία
Παραδείγματα έγκυρων κωδικών:
# Έγκυροι κωδικοί
my_dict = {
1: "ένα",
3.14: "πι",
"κλειδί": "τιμή",
(1, 2): "πλειάδα",
True: "αλήθεια",
None: "κανένα",
frozenset({1, 2}): "αμετάβλητο σύνολο"
}
Τα αμετάβλητα αντικείμενα έχουν ένα hash που χρησιμοποιείται για γρήγορη αναζήτηση στο λεξικό.
Τα μεταβλητά δεδομένα, όπως λίστες (list), σύνολα (set) και άλλα λεξικά (dict), δεν μπορούν να χρησιμοποιηθούν ως κωδικοί, καθώς το περιεχόμενό τους μπορεί να αλλάξει, κάτι που θα καταστρέψει την ακεραιότητα του hash.
Παραδείγματα μη έγκυρων κωδικών:
# Μη έγκυροι κωδικοί (θα προκαλέσουν TypeError)
# my_dict = {
# [1, 2]: "λίστα",
# {1, 2}: "σύνολο",
# {"a": 1}: "άλλο λεξικό"
# }