האם הרשימה ניתנת ל-hash Python?
האם הרשימה ניתנת ל-hash Python?

וִידֵאוֹ: האם הרשימה ניתנת ל-hash Python?

וִידֵאוֹ: האם הרשימה ניתנת ל-hash Python?
וִידֵאוֹ: Python! Tuples 2024, מאי
Anonim

כל של פייתון אובייקטים מובנים בלתי ניתנים לשינוי הם ניתן לגיבוב , בעוד שאין מיכלים הניתנים לשינוי (כגון רשימות או מילונים) הם. אובייקטים שהם מופעים של מחלקות מוגדרות על ידי המשתמש הם ניתן לגיבוב כברירת מחדל; כולם משווים לא שווים, וערך ה-hash שלהם הוא ה-id().

רק כך, האם tuples ניתן לגיבוב ב-Python?

10.1 Tuples הם בלתי ניתנים לשינוי הערכים המאוחסנים ב-a tuple יכולים להיות כל סוג, והם מתווספים לפי מספרים שלמים. ההבדל החשוב הוא זה tuples בלתי ניתנים לשינוי. Tuples הם גם ברי השוואה ו ניתן לגיבוב כדי שנוכל למיין רשימות שלהן ולהשתמש בהן tuples בתור ערכי מפתח ב פִּיתוֹן מילונים.

מה זה אומר שמשהו ניתן ל-hashable? חפץ הוא אמרו להיות ניתן לגיבוב אם זה יש ל ערך hash שנשאר זהה במהלך חייו. Objects אשר הם מופעים של מחלקות מוגדרות על ידי משתמש ניתנים לגלישה כברירת מחדל; כולם משווים לא שווים (למעט עם עצמם), ואת ערך ה-hash שלהם הוא נגזר מ- theirid().

בהתחשב בכך, מה המשמעות של Unhashable Python?

טעות הקלדה: בלתי ניתנים לגיבוש סוג: 'רשימה' בדרך כלל אומר שאתה מנסה להשתמש ברשימה כארגומנט חשיש. זה אומר שכאשר אתה מנסה hash an בלתי נתפס אובייקט זה יגרום לשגיאה. למשל. הדרך הסטנדרטית לפתור בעיה זו היא להטיל רשימה ל-tuple.

האם רשימות ניתנות לשינוי בפייתון?

הכל בתוך פִּיתוֹן הוא חפץ. ולמה כל עולה חדש פִּיתוֹן צריך ללמוד במהירות היא שכל החפצים פִּיתוֹן יכול להיות משתנה או בלתי ניתן לשינוי . אובייקטים מסוגים מובנים כמו (int, float, bool, str, tuple, unicode) הם בלתי ניתן לשינוי . אובייקטים מסוגים מובנים כמו ( רשימה , סט, dict) ניתנים לשינוי.

מוּמלָץ: