Vaikeustaso: Keskitaso Ennusta seuraavien Python-ohjelmien tulos. Ohjelma 1: Python nameList = ['Harsh' 'Pratik' 'Bob' 'Dhruv'] print nameList[1][-1]
Output: k
Selitys: Indeksin sijainti -1 edustaa joko luettelon viimeistä elementtiä tai merkkijonon viimeistä merkkiä. Yllä olevassa nimilistassa 'nameList' indeksi 1 edustaa toista elementtiä eli toista merkkijonoa 'Pratik' ja indeksi -1 edustaa viimeistä merkkiä merkkijonossa 'Pratik'. Joten tulos on "k". Ohjelma 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
Selitys: Indeksin tehtävänä on löytää syötetyn arvon sijainti annetusta listasta. Yllä olevassa ohjelmassa annettu arvo on 'GeeksforGeeks' ja lista on nameList. Koska GeeksforGeeks ei ole luettelossa, tehdään poikkeus. Ohjelma 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]]
Selitys: Append()-metodin tehtävänä on liittää hyväksytty obj olemassa olevaan luetteloon. Mutta sen sijaan, että välitettäisiin luettelo liittämismenetelmään, näitä kahta luetteloa ei yhdistetä, koko välitetty luettelo lisätään luettelon elementiksi. Tulos on siis 5. Ohjelma 4: Python def addToList(listcontainer): listcontainer += [10] mylistContainer = [10 20 30 40] addToList(mylistContainer) print len(mylistContainer)
Output:5
Selitys: Pythonissa kaikki on viittausta ja viittaukset välitetään arvon mukaan. Parametrien välitys Pythonissa on sama kuin viitteiden välitys Javassa. Seurauksena on, että funktio voi muokata arvoa, johon välitetty argumentti viittaa, eli muuttujan arvoa soittajan laajuudessa voidaan muuttaa. Tässä funktion 'addToList' tehtävänä on lisätä listaan elementti 10, joten tämä lisää listan pituutta yhdellä. Ohjelman tulos on siis 5.