Siyahı hash edilə bilən Pythondur?
Siyahı hash edilə bilən Pythondur?

Video: Siyahı hash edilə bilən Pythondur?

Video: Siyahı hash edilə bilən Pythondur?
Video: Python! Which Objects Can Be Set as Dictionary Keys? 2024, Bilər
Anonim

Hamısı Python dəyişməz daxili obyektlərdir hash edilə bilən , dəyişkən konteynerlər olmadığı halda (məsələn siyahıları və ya lüğətlər) var. İstifadəçi tərəfindən müəyyən edilmiş siniflərin nümunələri olan obyektlərdir hash edilə bilən default olaraq; onların hamısı qeyri-bərabər müqayisə edir və onların hash dəyəri id()-dir.

Beləliklə, Python-da dəstlər hash edilə bilərmi?

10.1 Tuples dəyişməzdir. a-da saxlanılan dəyərlər tuple istənilən növ ola bilər və onlar tam ədədlərlə indekslənir. Əhəmiyyətli fərq ondadır tuples dəyişməzdirlər. Tuples da müqayisə edilə bilər və hash edilə bilən beləliklə, biz onların siyahılarını sıralaya və istifadə edə bilərik tuples əsas dəyərlər kimi Python lüğətlər.

bir şeyin hash edilə bilən olması nə deməkdir? Bir obyekt edir olduğu deyilir hash edilə bilən bu halda var ömrü boyu eyni qalan hash dəyəri. Objects olan var istifadəçi tərəfindən müəyyən edilmiş siniflərin nümunələri yuyula bilir default olaraq; onların hamısı qeyri-bərabər (özlərindən başqa) və hash dəyərini müqayisə edirlər edir onlarınid()-dən əldə edilmişdir.

Bunu nəzərə alsaq, Unhashable Python nə deməkdir?

Tip xətası: zərərsizdir növü: adətən 'siyahı' deməkdir Siz siyahıdan hash arqumenti kimi istifadə etməyə çalışırsınız. Bu deməkdir ki, siz hash cəhd zaman bir zərərsizdir xəta ilə nəticələnəcək. məsələn. Bu problemi həll etməyin standart yolu siyahı bir dəftərə köçürməkdir.

Python-da siyahılar dəyişməzdirmi?

İçəridə hər şey Python obyektdir. Və hər yeni gələn Python Bütün obyektlərin olduğunu tez öyrənməlidir Python dəyişən və ya ola bilər dəyişməz . Quraşdırılmış növlərin obyektləri (int, float, bool, str, tuple, unicode) dəyişməz . kimi daxili tipli obyektlər ( siyahı , set, dict) dəyişkəndir.

Tövsiyə: