שבוע 2 - חוברת 4 list

היי,
אשמח להסבר - משום מה אני לא מבינה איך יודעים אם זה True / False?

[1, 5, 3] > [1, 2, 3]

כנ"ל כאן:

python_new_version = [3, 7, 2]
python_old_version = [2, 7, 16]
print(python_new_version > python_old_version)

תודה!

למיטב ידיעתי הבדיקה נעשית איבר איבר, עד שמגיעים לאיבר שגדול יותר באחת מאשר בשנייה - בדומה למה שקורה במחרוזות (שבהן ההשוואה נעשית תו תו)

3 לייקים

פייתון משווה את הרשימות רכיב-רכיב. היא תתחיל מהרכיב הראשון (עם האינדקס 0) ברשימה A ותשווה אותו לרכיב הראשון ברשימה B. אם הם שונים, היא תחזיר תשובה (True או False) בהתאם, אם הם שווים, היא תמשיך לרכיב הבא (אינדקס 1) בכל אחת מהרשימות ותשווה, וכן הלאה עד סוף הרשימה.

למשל בדוגמה:

הרכיב הראשון (אידקס 0) בשתי הרשימות זהה, אז ההחלטה תתקבל לפי הרכיב השני (5 גדול מ-2).

3 לייקים

תודה על המענה הברור :slight_smile: אז בעצם זה תקף רק ברשימות שהאיברים בהן הם Int / float ?

לא, זה תקף גם ברשימות למשל שהאיברים בהן הם מחרוזות, ובאופן כללי זה תקף כל עוד פייתון יודעת להשוות (אם למשל תנסי להשוות בין מחרוזת למספר זה כבר לא יעבוד)

2 לייקים

במחרוזת- פייתון בוחרת מי יותר גדול עפ"י אורך המחרוזת?

לא, פחות או יותר לפי סדר לקסיקוגרפי (לפי טבלת ascii אם את מכירה)

2 לייקים

האמת שלא מכירה…
חשוב ללמוד על זה כדי להבין?

כל עוד את משווה אותיות גדולות עם אותיות גדולות ואותיות קטנות עם אותיות קטנות, ההשוואה היא לפי סדר לקסיקוגרפי. :slight_smile:

זה יתחיל להתבלגן אם תשווי אות גדולה עם אות קטנה או להיפך (למשל בשביל פייתון “a” > “D”). מה שקורה זה שכל תו מקבל איזשהו קידוד מספרי וההשוואה נעשית לפיו.

אפשר לראות כאן את הטבלה:
http://www.asciitable.com/

2 לייקים

סגור, הבנתי :slight_smile: תודה רבה על ההסברים!

באופן כללי ממליץ לראות את הסרטון הרלוונטי על ביטויים בוליאניים. יעשה קצת סדר :slight_smile:

לייק 1