Жагсаалтын хэш боломжтой Python мөн үү?
Жагсаалтын хэш боломжтой Python мөн үү?

Видео: Жагсаалтын хэш боломжтой Python мөн үү?

Видео: Жагсаалтын хэш боломжтой Python мөн үү?
Видео: Become A Master Of SDXL Training With Kohya SS LoRAs - Combine Power Of Automatic1111 & SDXL LoRAs 2024, May
Anonim

Бүх Python хувиршгүй баригдсан объектууд нь hashable , харин өөрчлөгддөг сав байхгүй (жишээ нь жагсаалтууд эсвэл толь бичиг) байна. Хэрэглэгчийн тодорхойлсон ангиудын жишээ болох объектууд нь hashable Анхны утгаараа; Тэд бүгд тэгш бус харьцуулдаг бөгөөд хэш утга нь id() юм.

Тэгэхээр Python дээр tuple-г хэшлэх боломжтой юу?

10.1 Тупууд өөрчлөгддөггүй. a-д хадгалагдсан утгууд tuple ямар ч төрөл байж болох ба бүхэл тоогоор индексжүүлнэ. Гол ялгаа нь үүнд л байгаа юм tuples хувиршгүй байдаг. Тупууд мөн харьцуулах боломжтой ба hashable Тиймээс бид тэдгээрийн жагсаалтыг ангилж, ашиглаж болно tuples гол үнэт зүйлс болгон Python толь бичгүүд.

ямар нэг зүйл хэш болох нь юу гэсэн үг вэ? Объект байна гэж хэлсэн hashable Хэрэв уу байна амьдралынхаа туршид хэвээр байх хэш утга. Objects which байна хэрэглэгчийн тодорхойлсон ангиудын тохиолдлууд хордох боломжтой Анхны утгаараа; Тэд бүгд тэгш бус (өөрөөсөө бусад) болон хэш утгыг харьцуулдаг байна тэдгээрийнid() -ээс гаралтай.

Үүнийг авч үзвэл Unhashable Python гэж юу гэсэн үг вэ?

Төрөл алдаа: эвдэрч болохгүй төрөл: ихэвчлэн "жагсаалт" гэсэн үг та жагсаалтыг хэш аргумент болгон ашиглахыг оролдож байна. Энэ гэсэн үг гэж та хэш оролдох үед an эвдэрч болохгүй Энэ нь алдаа гаргахад хүргэдэг. Жишээ нь. Энэ асуудлыг шийдэх стандарт арга бол жагсаалтыг tuple руу шилжүүлэх явдал юм.

Python дээр жагсаалт өөрчлөгддөггүй юу?

Бүх зүйл дотор Python объект юм. Мөн шинээр ирсэн хүн бүр юу Python Бүх объект гэдгийг хурдан сурах хэрэгтэй Python хувирамтгай эсвэл байж болно хувиршгүй . (int, float, bool, str, tuple, unicode) зэрэг суурилагдсан төрлийн объектууд нь хувиршгүй . (гэх мэт суурилагдсан төрлийн объектууд жагсаалт , багц, dict) өөрчлөгддөг.

Зөвлөмж болгож буй: