Poziom trudności: Średniozaawansowany Przewiduj wyjście następujących programów w języku Python. Program 1: Python nameList = ['Harsh' 'Pratik' 'Bob' 'Dhruv'] print nameList[1][-1]
Output: k
Wyjaśnienie: Pozycja indeksu -1 reprezentuje albo ostatni element na liście, albo ostatni znak w ciągu. Na powyższej liście nazw „nameList” indeks 1 reprezentuje drugi element, tj. drugi ciąg znaków „Pratik”, a indeks -1 reprezentuje ostatni znak w ciągu „Pratik”. Zatem wynikiem jest „k”. Program 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
Wyjaśnienie: Zadaniem indeksu jest znalezienie miejsca podanej wartości na podanej liście. W powyższym programie podana wartość to „GeeksforGeeks”, a lista to nameList. Ponieważ na liście nie ma GeeksforGeeks, zgłaszany jest wyjątek. Program 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]]
Wyjaśnienie: Zadaniem metody append() jest dołączenie przekazanej wartości obj do istniejącej listy. Zamiast jednak przekazywać listę do metody append, nie spowoduje to połączenia obu list, cała przekazana lista jest dodawana jako element listy. Zatem wynik wynosi 5. Program 4: Python def addToList(listcontainer): listcontainer += [10] mylistContainer = [10 20 30 40] addToList(mylistContainer) print len(mylistContainer)
Output:5
Wyjaśnienie: W Pythonie wszystko jest referencją, a referencje przekazywane są poprzez wartość. Przekazywanie parametrów w Pythonie jest takie samo jak przekazywanie referencji w Javie. W konsekwencji funkcja może modyfikować wartość, na którą wskazuje przekazany argument, czyli można zmienić wartość zmiennej w zasięgu wywołującego. Tutaj zadaniem funkcji „addToList” jest dodanie elementu 10 do listy. Spowoduje to zwiększenie długości listy o 1. Wynik programu będzie wynosił 5.