Sværhedsgrad: Intermediate Forudsig outputtet af følgende Python-programmer. Program 1: Python nameList = ['Harsh' 'Pratik' 'Bob' 'Dhruv'] print nameList[1][-1]
Output: k
Forklaring: Indekspositionen -1 repræsenterer enten det sidste element i en liste eller det sidste tegn i en streng. I den ovenfor givne liste over navne 'nameList' repræsenterer indekset 1 det andet element, dvs. den anden streng 'Pratik' og indekset -1 repræsenterer det sidste tegn i strengen 'Pratik'. Så outputtet er '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
Forklaring: Indeksets opgave er at finde positionen af en leveret værdi i en given liste. I ovenstående program er den angivne værdi 'GeeksforGeeks' og listen er nameList. Da GeeksforGeeks ikke er til stede på listen, bliver der kastet en undtagelse. 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]]
Forklaring: Opgaven med append() metoden er at tilføje en bestået obj på en eksisterende liste. Men i stedet for at overføre en liste til append-metoden vil ikke de to lister flettes sammen, tilføjes hele listen, som er bestået, som et element i listen. Så udgangen er 5. Program 4: Python def addToList(listcontainer): listcontainer += [10] mylistContainer = [10 20 30 40] addToList(mylistContainer) print len(mylistContainer)
Output:5
Forklaring: I Python er alt en reference, og referencer sendes efter værdi. Parameter passing i Python er det samme som reference passing i Java. Som en konsekvens kan funktionen ændre værdien, der henvises til af bestået argument, dvs. værdien af variablen i opkalderens omfang kan ændres. Her er opgaven med funktionen 'addToList' at tilføje et element 10 i listen. Så dette vil forlænge listens længde med 1. Så outputtet af programmet er 5.