Nehézségi szint: Közepes Megjósolja a következő Python-programok kimenetét. 1. program: Python nameList = ['Harsh' 'Pratik' 'Bob' 'Dhruv'] print nameList[1][-1]
Output: k
Magyarázat: Az indexpozíció -1 vagy a lista utolsó eleme, vagy a karakterlánc utolsó karaktere. A fent megadott névlistában a 'nameList' az 1-es index a második elemet, azaz a második 'Pratik' karakterláncot, a -1 index pedig a 'Pratik' karakterlánc utolsó karakterét jelöli. Tehát a kimenet 'k'. 2. program: Python nameList = ['Harsh' 'Pratik' 'Bob' 'Dhruv'] pos = nameList.index('GeeksforGeeks') print pos * 5 Output:An Exception is thrown ValueError: 'GeeksforGeeks' is not in list
Magyarázat: Az index feladata, hogy megkeresse egy megadott érték pozícióját egy adott listában. A fenti programban a megadott érték 'GeeksforGeeks', a lista pedig nameList. Mivel a GeeksforGeeks nem szerepel a listában, a rendszer kivételt jelent. 3. program: 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]]
Magyarázat: Az append() metódus feladata egy sikeres hozzáfűzése obj egy meglévő listába. De ahelyett, hogy a listát az append metódusnak adná át, nem egyesíti a két listát, a teljes átadott lista a lista elemeként kerül hozzáadásra. Tehát a kimenet 5. 4. program: Python def addToList(listcontainer): listcontainer += [10] mylistContainer = [10 20 30 40] addToList(mylistContainer) print len(mylistContainer)
Output:5
Magyarázat: A Pythonban minden hivatkozás, és a hivatkozások érték szerint kerülnek átadásra. A paraméterátadás Pythonban ugyanaz, mint a Java-ban a referenciaátadás. Ennek következtében a függvény módosíthatja az átadott argumentum által hivatkozott értéket, azaz a hívó hatókörében lévő változó értéke módosítható. Itt az 'addToList' függvény feladata egy 10-es elem hozzáadása a listához, így ez 1-gyel növeli a lista hosszát. Tehát a program kimenete 5.