| Per començar | Elements d'entrada | Programació CircuitPython | Recursos CITCEA | |
| Elements no electrònics | Elements de sortida | Programació Arduino | ||
| Projectes | Elements de control | Dades pràctiques | Inici |
Les llistes i les tuples són agrupacions d'elements però amb comportaments diferents. Comentarem primer les llistes, després els tuples i finalment el pas d'un tipus a l'altre.
Les llistes són agrupacions d'elements que sí es poden modificar individualment. Els elements de les llistes poden ser de tipus diferents. Per exemple, definim una llista de tres elements:
f = [262, 294, 330]
k = [23, 12.54, "prova"]
També hi pot haver llistes amb un sol element:
m = [22]
La funció len ens permet saber la mida d'una llista. Per exemple
f = [262, 294, 330]
a = len(f) # a valdrà 3
Les llistes poden contenir llistes i tuples a dins, per exemple:
h = [12, 23, [23, 12.54, 'prova']]
s = [25, 327, (12.5, 1, 'hola')]
Es poden fer servir variables per definir els elements d'un tuple, per exemple:
a = 2
b = 7
c = 5
k = [a, b, c] # k serà [2, 7, 5]
Podem llegir individualment els elements d'una llista. Per exemple:
f = [262, 294, 330]
a = f[0] # a serà 262
b = f[1] # a serà 294
c = f[2] # a serà 330
# Evidentment, f[3] donarà error
També podem agafar parts de la llista indicant el primer element que cal agafar i el primer que no s'ha d'agafar. Per exemple:
f = [262, 294, 330]
m = f[0:2] # m serà [262, 294]
n = f[0:3] # n serà [262, 294, 330]
No hi ha cap problema en assignar nous valors als elements d'una llista. Per exemple:
f = [262, 294, 330]
f[2] = 77 # f serà [262, 294, 77]
Podem fer servir variables que continguin valors enters en els índexs. Per exemple:
f = [262, 294, 330]
a = 1
f[a] = 77 # f serà [262, 77, 330]
Si l'índex és negatiu es compta des del final (començant per -1):
f = [262, 294, 330]
a = -1
f[a] = 77 # f serà [262, 294, 77]
Podem modificar la llista:
f = [262, 294, 330, 453]
f[0:2] = [33, 44] # f serà [33, 44, 330, 453]
g = [262, 294, 330, 453]
g[0:2] = [33, 44, 55] # g serà [33, 44, 55, 330, 453]
h = [262, 294, 330, 453]
h[0:2] = [33] # h serà [33, 330, 453]
i = [262, 294, 330, 453]
i[0:2] = [] # i serà [330, 453]
j = [262, 294, 330, 453]
j[1:1] = [33, 44] # j serà [262, 33, 44, 294, 330, 453]
La funció del ens permet esborrar elements d'una llista. Per exemple
f = [262, 294, 330, 345]
del f[2] # f valdrà [262, 294, 345]
g = [262, 294, 330, 345]
del f[1:3] # g valdrà [262, 345]
L'operador in ens permet saber si un determinat element és a la llista. Per exemple:
f = [12, 23, 23, 'prova']
a = "prova" in f # a valdrà True
b = 23 in f # b valdrà True
c = 45 in f # c valdrà False
L'operador + permet concatenar llistes:
f = [12, 23, 23, 'prova']
g = [34, 11]
a = f + g # a serà [12, 23, 23, 'prova', 34, 11]
L'operador * permet repetir el contingut de la llista:
g = [34, 11]
a = 2 * g # a serà [34, 11, 34, 11]
Els tuples són agrupacions d'elements que no es poden modificar individualment. Els elements dels tuples poden ser de tipus diferents. Per exemple, definim un tuple de tres elements:
f = (262, 294, 330)
k = (23, 12.54, "prova")
Cal vigilar amb els tuples d'un sol element. Això no és un tuple:
m = (22)
sinó una assignació de valor amb un parèntesi innecessari. El tuple corresponent seria:
m = (22,)
La funció len ens permet saber la mida d'un tuple. Per exemple
f = (262, 294, 330)
a = len(f) # a valdrà 3
Els tuples poden contenir tuples i llistes a dins, per exemple:
h = (12, 23, (23, 12.54, 'prova'))
w = (1, 2, [4.32, 16, 'Python'])
Es poden fer servir variables per definir els elements d'un tuple, per exemple:
a = 2
b = 7
c = 5
k = (a, b, c) # k serà (2, 7, 5)
Podem llegir individualment els elements d'un tuple. Per exemple:
f = (262, 294, 330)
a = f[0] # a serà 262
b = f[1] # a serà 294
c = f[2] # a serà 330
# Evidentment, f[3] donarà error
També podem agafar parts del tuple indicant el primer element que cal agafar i el primer que no s'ha d'agafar. Per exemple:
f = (262, 294, 330)
m = f[0:2] # m serà (262, 294)
n = f[0:3] # n serà (262, 294, 330)
No podem escriure individualment elements d'un tuple. Per exemple, la següent assignació no funcionaria:
f = (262, 294, 330)
f[1] = 423 # Error
Però d'aquesta manera obtindríem el resultat desitjat:
f = (262, 294, 330)
f = (f[0], 423, f[2])
Podem fer servir variables que continguin valors enters en els índexs. Per exemple:
f = (262, 294, 330)
a = 1
k = f[a] # k serà 294
Si l'índex és negatiu es compta des del final (començant per -1):
f = (262, 294, 330)
a = -1
k = f[a] # k serà 330
L'operador in ens permet saber si un determinat element és al tuple. Per exemple:
f = (12, 23, 23, 'prova')
a = "prova" in f # a valdrà True
b = 23 in f # b valdrà True
c = 45 in f # c valdrà False
L'operador + permet concatenar tuples:
f = (12, 23, 23, 'prova')
g = (34, 11)
a = f + g # a serà (12, 23, 23, 'prova', 34, 11)
L'operador * permet concatenar tuples:
g = (34, 11)
a = 2 * g # a serà (34, 11, 34, 11)
Les funcions list i tuple ens permeten convertir un tipus en l'altre. Per exemple:
f = (262, 294, 330)
a = list(f) # a serà [262, 294, 330]
g = [23, 85, 94]
b = tuple(f) # b serà (23, 85, 94)
Podem modificar elements d'un tuple si el convertim momentàniament en una llista:
f = (262, 294, 330)
f = list(f)
f[2] = 34
f = tuple(f) # f serà (262, 294, 34)
En aquest web, les fotografies marcades amb [AF] són del web d'Adafruit, les marcades amb [SF] del web d'Sparkfun i les marcades amb [AU] del web d'Arduino.

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.