Junior
Python'daki sözlüklerde anahtarlar ne olabilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Python sözlüklerindeki anahtarlar herhangi bir değiştirilemez (hashable) nesne olabilir.
Değiştirilemez veri tipleri şunları içerir:
- Tam sayılar (
int) - Ondalıklı sayılar (
float) - Dizgiler (
str) - Sadece değiştirilemez öğeler içeren tuple'lar (
tuple) - Boolean değerler (
bool) - NoneType (
None) - Sadece değiştirilemez öğeler içeren Frozenset (
frozenset)
Geçerli anahtar örnekleri:
# Geçerli anahtarlar
benim_dict = {
1: "bir",
3.14: "pi",
"anahtar": "değer",
(1, 2): "tuple",
True: "doğru",
None: "yok",
frozenset({1, 2}): "değiştirilmez küme"
}
Değiştirilemez nesnelerin bir hash değeri vardır ve bu, sözlükte hızlı arama için kullanılır.
Liste (list), küme (set) ve diğer sözlükler (dict) gibi değiştirilebilir veri tipleri, içerikleri değişebileceği için anahtar olamazlar, bu da hash bütünlüğünü bozar.
Geçersiz anahtar örnekleri:
# Geçersiz anahtarlar (TypeError hatası verir)
# benim_dict = {
# [1, 2]: "liste",
# {1, 2}: "küme",
# {"a": 1}: "başka sözlük"
# }