Sobes.tech
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"
# }