2012-04-15 2 views
3

Im étudier pour une finale de l'informatique en ce moment et je ne comprends pas comment cela fonctionne à tous:Qu'est-ce que L [L [3]] dans une liste?

 
L = [ 8, 6, 7, 5, 3, 0, 9 ] 

30. L[L[3]] - 1 is? 
(A) * -1 
(B) an error 
(C) 8 
(D) 4 
(E) 7 

La réponse est -1 .. SO pour tester comment cela fonctionne, je viens de faire L [L [3 ]] et la réponse est 0, alors j'ai fait L [L [4]] et thar est égal à 5, alors j'ai fait L [L [1]] qui a donné un 9 mais si je vais L [L] [2]] un index de liste hors erreur de plage. Im au-delà confondu ici Tout le monde peut aider s'il vous plaît?

Répondre

11

L[3] est 5, L[L[3]] est L[5] est 0 et 0 - 1 est -1.

0

Parcourons la réponse en montrant les résultats intermédiaires, même si elles ne sont pas affichés:

L[3] est 5, L[L[3]] est donc L[5] = 0 et L[L[3]] -1 = 0-1 = -1

0

L [2] = 7 et la liste seulement a seulement 7 éléments, c'est l'indice 0..6. Donc, accéder à L [L [2]] = L [7] est hors de portée ...

0

il dit, obtenez le nombre à l [3] qui est 5, alors utilisez ceci, donc obtenez le nombre à l [5] qui est 0, puis soustraire 1 .... ta dah!

4

Ces types de problèmes sont mieux travaillés un pas à la fois, de l'intérieur. Donc, L [3] vous donne 5. Utilisez cette valeur (5) comme index dans la liste, c'est-à-dire, L [5] et cela vous donne 0. Enfin, 0 - 1 = -1, votre répondre.

2

Ceci est analogue à function composition avec des fonctions Math (par exemple f (g (x))).

Nous prenons notre liste et travaillons de l'intérieur vers l'extérieur, donc nous obtenons L[L[3]] -> L[5] -> 0, et en soustrayons un pour obtenir -1.

Lorsque vous passez à l'instance suivante, L[L[1]] = L[6] -> 9. Enfin, L[L[2]] = L[7] -> IndexError.

Il s'agit d'évaluer une indexation composite (ou fonction, d'ailleurs) de l'intérieur vers l'extérieur.

0

Voici la réponse décomposé en étapes:

L = [8, 6, 7, 5, 3, 0, 9]

L [L [3]] - 1 = -1

L [3] = 5, donc L [L [3]] = L [5] = 0