Sobes.tech
Senior

Lüğətlər kontekstində, ro'yxat va krotka o'rtasidagi farq nima?

sobes.tech AI

AIdan javob

Python kabi lug'atlar kontekstida, ro'yxat va tupla o'rtasidagi farq lug'at kalitlari uchun muhim:

  • Ro'yxat — o'zgartiriladigan ma'lumot turi, shuning uchun lug'at kaliti sifatida ishlatilmaydi, chunki kalitlar hashlanadigan va o'zgarmas bo'lishi kerak.
  • Tupla — o'zgarmas ma'lumot turi, shuning uchun agar uning barcha elementlari ham hashlanadigan bo'lsa, lug'at kaliti sifatida ishlatilishi mumkin.

Misol:

my_dict = {}
my_dict[(1, 2)] = 'tupla kalit sifatida'  # Ishlaydi

my_dict[[1, 2]] = 'ro'yxat kalit sifatida'    # Xato TypeError: unhashable type: 'list'

Shu sababli, tuplalar lug'atlardagi murakkab kalitlar uchun mos keladi, ro'yxatlar esa emas.