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.