# Python 3 per a no programadors/Llistes
### Variables amb més d'un valor

Ja heu vist variables ordinàries que contenen un únic valor. Tanmateix hi ha altres tipus de variables que poden contenir més d'un valor. El tipus més senzill és l'anomenat "llista".
A continuació es mostra un exemple d'utilització d'una llista:
Aplicant l'exemple s'obté:
En aquest exemple la variable mesos és una llista. mesos és defineix a les línies mesos = ['Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny', 'Juliol', i 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre'] (noteu que el caràcter \ també es pot fer servir per separar una línia llarga, però no és necessari en aquest casperquè Python és prou intel·ligent per reconèixer que tot el que és entre parèntesis forma un conjunt). Els caràcters [ i ] inicien i acaben la llista, que té els elements separats amb comes (,). La llista es fa servir a mesos[quin - 1]. Una llista consisteix en diversos elements que s'enumenen començant per 0. En altres paraules, si voleu obtenir "Gener" haureu de fer servir mesos[0]. Donant un número a una llista s'obté el valor que hi ha emmagatzemat en aquest lloc.
La declaració if 1 <= quin <= 12: només serà certa si quin és un valor que val entre 1 i 12 (inclosos ambdós).
Les llistes es poden entendtre com a sèries de caixes. Cada caixa té un valor diferent. Per exemple, les caixes creades per llistaexemple = ['vida', 42, 'univers', 6, 'i', 7] tindran aquesta aparença:
Cada caixa està referenciada pel seu número de manera que la declaració llistaexemple[0] tindrà com a valor 'vida', llistaexemple[1] valdrà 42 i així anar fent fins a llistaexemple[5] que valdrà 7.

### Més característiques de les llistes

El següent exemple és només per mostrar moltes altres coses que poden fer les llistes (aniria bé que fessiu proves amb les llistes fins a tenir-ne prou coneixement).
Alguns exemples:
El que s'obté és:
Aquest exemple fa servir gran quantitat de noves funcions. Podeu veure que es pot imprimir (print) tota una llista. També es fa servir la funció append per afegir un element nou al final de la llista. len retorna quans elements hi ha a la llista.
Els índexs vàlids (com a números que es poden fer servir dins de) per una llista, des de 0 fins a len - 1. La funció index dóna com a resultat la primera posició on es troba situat un element dins una llista.
Vegeu com llista_exemple.index(42) dóna com a resultat 1, i com en executar llista_exemple[1] dóna com a resultat 42. La línia # A continuació fem un bucle de la llista és simplement una explicació o recordatori pel programador (també anomenada comentari). Python ignora qualsevol línia que comenci amb #.
A continuació, les línies:
creen una variable c, que comença amb un valor de 0 que es va incrementant fins que assoleix el darrer index de la llista. Mentres, la declaració print va donant com a resultat cada element de la llista. L'ordre del es fa servir per suprimir un element d'una llista. Les línies següents fan servir l'operador in per comprovar si un element és o no inclòs a una llista. La funció sort ordena la llista. Aquesta funció és útil si és necessari tenir la llista ordenada del número més petit al més gran, o alfabèticament. Vegeu que això reordena la llista. Resumint, es poden fer servir les següents operacions amb una llista:
L'exemple següent també fa servir aquestes característiques:
A continuació observem alguns resultats del funcionament:
Aquest és un programa llarg. Fem un cop d'ull al codi. La línia llista_noms = estableix la variable llista_noms com una llista sense cap element. La següent línia important és while element_menu != 9:. Aquesta línia inicia un bucle que posa en funcionament el sistema de menú del programa. Les línies següents mostren el menú i decideixen quina part del programa s'executa.
La secció
es mou per la llista i va escrivint cada nom. len(llista_noms) retorna el nombre d'elements que hi ha a la llista. Si len retorna 0, aleshores la llista és buida.
Mirant algunes línies més endavant, apareix la declaració llista_noms.append(nom). Es fa servir la funció append per afegir un element al final de la llista.
Saltant dues línies més avall, ens fixem en la següent secció del codi:
Aquí es fa servir la funció index per trobar el valor de l'índex que es farà servir posteriorment per suprimir un element. del llista_noms[numero_element] es fa servir per suprimir un element de la llista.
La secció següent
fa servir index per trobar el numero_element i aleshores posa el contingut de nom_nou on hi havia el nom_antic.

### Exemples

test.py
Els valors True i False valen 1 i 0, respectivament. Es fan servir en comprovacions, condicions dels bucles etc. Aprendreu una mica més sobre això més endavant (capítol Expressions Booleanes).
Exemple d'aplicació del programa:

### Exercicis

Ampliar el programa test.py de manera que tingui un menú que doni l'opció de fer la prova, veure la llista de preguntes i respostes i l'opció de sortir. També afegeix una nova qüestió per preguntar, "Quin soroll fa una màquina avançada?" amb la resposta de "ping".
l'opció de fer la prova, veure la llista de preguntes i respostes i l'opció de sortir. També afegeix una nova qüestió per preguntar, "Quin soroll fa una màquina avançada?" amb la resposta de "ping".