Python definition of Hashable is: An object is hashable if it has a hash value which never changes during its lifetime (it needs a hash() method). A list is unhashable because its contents can change over its lifetime.
هر برنامه نویس پایتونی حتما روزی با این پیام مواجه شده است:
TypeError: unhashable type: 'list'
اما معنای hashable چیست؟
در زبان پایتون یک شی hashable است اگر مقدار hash داشته باشد که تغییر نکند. از آنجا که محتوای لیست قابل تغییر است، این شی unhashable است. در مواجهه باخطای فوق یک روش ساده استفاده از تاپل به جای لیست است زیرا تاپل غیر قابل تغییر (immutable) است.
برای دریافت آخرینهای بلاگ و کارگاههای مرکز اطلاعات علمی در خبرنامه عضو شوید.