רמת קושי: בינוני חזה את הפלט של תוכניות הפייתון הבאות. תוכנית 1: Python nameList = ['Harsh' 'Pratik' 'Bob' 'Dhruv'] print nameList[1][-1]
Output: k
הֶסבֵּר: מיקום האינדקס -1 מייצג את האלמנט האחרון ברשימה או את התו האחרון במחרוזת. ברשימת השמות הנתונה לעיל 'nameList' האינדקס 1 מייצג את האלמנט השני כלומר המחרוזת השנייה 'Pratik' והאינדקס -1 מייצג את התו האחרון במחרוזת 'Pratik'. אז הפלט הוא 'k'. תוכנית 2: Python nameList = ['Harsh' 'Pratik' 'Bob' 'Dhruv'] pos = nameList.index('GeeksforGeeks') print pos * 5 Output:An Exception is thrown ValueError: 'GeeksforGeeks' is not in list
הֶסבֵּר: המשימה של האינדקס היא למצוא את המיקום של ערך מסופק ברשימה נתונה. בתוכנית לעיל הערך שסופק הוא 'GeeksforGeeks' והרשימה היא nameList. מכיוון ש-GeeksforGeeks אינו קיים ברשימה, נזרק חריג. תוכנית 3: Python geekCodes = [1 2 3 4] # List will look like as [1234[5678]] geekCodes.append([5678]) print len(geekCodes) print(geekCodes) #new list will be appended at the index 4 of geekCodes.
Output: 5 [1234[5678]]
הֶסבֵּר: המשימה של שיטת append() היא להוסיף עבר obj לתוך רשימה קיימת. אבל במקום להעביר רשימה לשיטת append לא תמזג את שתי הרשימות כל הרשימה שהועברה מתווספת כאלמנט של הרשימה. אז הפלט הוא 5. תוכנית 4: Python def addToList(listcontainer): listcontainer += [10] mylistContainer = [10 20 30 40] addToList(mylistContainer) print len(mylistContainer)
Output:5
הֶסבֵּר: ב-Python הכל מהווה הפניה והפניות מועברות לפי ערך. העברת פרמטרים ב-Python זהה להעברת הפניות ב-Java. כתוצאה מכך הפונקציה יכולה לשנות את הערך המופנה באמצעות ארגומנט עבר, כלומר ניתן לשנות את הערך של המשתנה בהיקף של המתקשר. כאן המשימה של הפונקציה 'addToList' היא להוסיף אלמנט 10 ברשימה אז זה יגדיל את אורך הרשימה ב-1. אז הפלט של התוכנית הוא 5.