Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Listas de listas en Python, Apuntes de Informática

Documento sobre listas de listas en Python

Tipo: Apuntes

2022/2023

Subido el 25/11/2023

iago-gonzalez-ribes
iago-gonzalez-ribes 🇪🇸

2 documentos

1 / 13

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
EXEMPLES
def fila(A, i):
"""
Donada una matriu A, retorna la seva fila i.
>>> A = [[1, 2, 3, 4, 5],[6, 7, 8, 9, 0], [1, 2, 3, 4, 1], [6, 7, 8, 9, 1], [1, 2, 3, 4, 2]]
>>> fila(A, 3)
[6, 7, 8, 9, 1]
"""
return A[i]
def columna(A, j):
"""
Donada una matriu A, retorna la seva columna j.
>>> A = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 0], [1, 2, 3, 4, 1], [6, 7, 8, 9, 1], [1, 2, 3, 4, 2]]
>>> columna(A, 2)
[3, 8, 3, 8, 3]
"""
column = []
for i in range(len(A)):
column += [A[i][j]]
return column
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Vista previa parcial del texto

¡Descarga Listas de listas en Python y más Apuntes en PDF de Informática solo en Docsity!

EXEMPLES

def fila(A, i): """ Donada una matriu A, retorna la seva fila i.

A = [[1, 2, 3, 4, 5],[6, 7, 8, 9, 0], [1, 2, 3, 4, 1], [6, 7, 8, 9, 1], [1, 2, 3, 4, 2]] fila(A, 3) [6, 7, 8, 9, 1] """ return A[i] def columna(A, j): """ Donada una matriu A, retorna la seva columna j. A = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 0], [1, 2, 3, 4, 1], [6, 7, 8, 9, 1], [1, 2, 3, 4, 2]] columna(A, 2) [3, 8, 3, 8, 3] """ column = [] for i in range(len(A)): column += [A[i][j]] return column

def diagonal_principal(A): """ Donada una matriu quadrada A,retorna la seva diagonal principal.

A = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 0], [1, 2, 3, 4, 1], [6, 7, 8, 9, 1], [1, 2, 3, 4, 2]] diagonal_principal(A) [1, 7, 3, 9, 2] """ diag = [] for i in range(len(A)): for j in range(len(A)): if i==j: diag += [A[i][j]] return diag ''' diag = [] for i in range(len(A)): diag += [A[i][i]] return diag def diagonal_secundaria(A): """ Donada una matriu quadrada A, retorna la seva diagonal secundaria. A = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 0], [1, 2, 3, 4, 1], [6, 7, 8, 9, 1], [1, 2, 3, 4, 2]] diagonal_secundaria(A) [5, 9, 3, 7, 1] """ ''' diag = [] for i in range(len(A)): for j in range(len(A)): if j == len(A)- 1 - i: diag += [A[i][j]] return diag ''' diag = [] for i in range(len(A)): diag += [A[i][len(A)- 1 - i]] return diag

Suposem que l_alumnes es una llista de registres tal que cada registre conte les dades d'un alumne de 1r de l'escola (nom, any de neixement,adreça) i les seves notes del curs. Per exemple: l_alumnes = [['Joana', 2003, 'Carrer Major, 27', 7.6, 0.3, 2.8, 9.0], ... ['Michael', 2003, 'Ronda del Mig, 245', 8.7, 0.1], ... ['Laia', 2003, 'Passeig de la Platja, 3', 1.5, 9.8, 3.7, 1.6, 1.4, 3.8, 6.9, 5.4, 7.6, 8.0], ... ['Fatima', 2003, 'Carrer de Baixada, 721', 2.8], ... ['Samir', 2003, 'Carrer Pujades, 94 bis', 6.9, 3.6, 1.8, 2.0, 7.0]] ''' def tipus_via (adreça): ''' Donat un string que representa una adreça, retorna el tipus de via

tipus_via ('Carrer Major, 27') 'Carrer' ''' i = 1 diagonal_principal(A) [1, 7, 3, 9, 2] """ diag = [] for i in range(len(A)): for j in range(len(A)): if i==j: diag += [A[i][j]] return diag ''' diag = [] for i in range(len(A)): diag += [A[i][i]] return diag def diagonal_secundaria(A): """ Donada una matriu quadrada A, retorna la seva diagonal secundaria. >>> A = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 0], [1, 2, 3, 4, 1], [6, 7, 8, 9, 1], [1, 2, 3, 4, 2]] >>> diagonal_secundaria(A) [5, 9, 3, 7, 1] """ ''' diag = [] for i in range(len(A)): for j in range(len(A)): if j == len(A)- 1 - i: diag += [A[i][j]] return diag ''' diag = [] for i in range(len(A)): diag += [A[i][len(A)- 1 - i]] return diag Suposem que l_alumnes es una llista de registres tal que cada registre conte les dades d'un alumne de 1r de l'escola (nom, any de neixement,adreça) i les seves notes del curs. Per exemple: l_alumnes = [['Joana', 2003, 'Carrer Major, 27', 7.6, 0.3, 2.8, 9.0], ... ['Michael', 2003, 'Ronda del Mig, 245', 8.7, 0.1], ... ['Laia', 2003, 'Passeig de la Platja, 3', 1.5, 9.8, 3.7, 1.6, 1.4, 3.8, 6.9, 5.4, 7.6, 8.0], ... ['Fatima', 2003, 'Carrer de Baixada, 721', 2.8], ... ['Samir', 2003, 'Carrer Pujades, 94 bis', 6.9, 3.6, 1.8, 2.0, 7.0]] ''' def tipus_via (adreça): ''' Donat un string que representa una adreça, retorna el tipus de via >>> tipus_via ('Carrer Major, 27') 'Carrer' ''' i = 1 while adreça[i] != ' ': i += 1 return adreça[:i] def tipus_vies(l_alumnes): """ Donada una llista l_alumnes, retorna la llista amb tots els tipus de via diferents (sense repetir) a on viuen els alumnes tipus_vies(l_alumnes) ['Carrer', 'Ronda', 'Passeig'] """ l_vies = [] for alumne in l_alumnes: s = tipus_via(alumne[2]) if s not in l_vies: l_vies += [s] return l_vies def nota_mitjana(notes): """

diagonal_secundaria(A) [5, 9, 3, 7, 1] """ ''' diag = [] for i in range(len(A)): for j in range(len(A)): if j == len(A)- 1 - i: diag += [A[i][j]] return diag ''' diag = [] for i in range(len(A)): diag += [A[i][len(A)- 1 - i]] return diag Suposem que l_alumnes es una llista de registres tal que cada registre conte les dades d'un alumne de 1r de l'escola (nom, any de neixement,adreça) i les seves notes del curs. Per exemple: l_alumnes = [['Joana', 2003, 'Carrer Major, 27', 7.6, 0.3, 2.8, 9.0], ... ['Michael', 2003, 'Ronda del Mig, 245', 8.7, 0.1], ... ['Laia', 2003, 'Passeig de la Platja, 3', 1.5, 9.8, 3.7, 1.6, 1.4, 3.8, 6.9, 5.4, 7.6, 8.0], ... ['Fatima', 2003, 'Carrer de Baixada, 721', 2.8], ... ['Samir', 2003, 'Carrer Pujades, 94 bis', 6.9, 3.6, 1.8, 2.0, 7.0]] ''' def tipus_via (adreça): ''' Donat un string que representa una adreça, retorna el tipus de via >>> tipus_via ('Carrer Major, 27') 'Carrer' ''' i = 1 while adreça[i] != ' ': i += 1 return adreça[:i] def tipus_vies(l_alumnes): """ Donada una llista l_alumnes, retorna la llista amb tots els tipus de via diferents (sense repetir) a on viuen els alumnes >>> tipus_vies(l_alumnes) ['Carrer', 'Ronda', 'Passeig'] """ l_vies = [] for alumne in l_alumnes: s = tipus_via(alumne[2]) if s not in l_vies: l_vies += [s] return l_vies def nota_mitjana(notes): """ Donada una llista de reals entre 0.0 i 10.0, retorna la mitjana amb un decimal. nota_mitjana([7.6, 0.3, 2.8, 9.0])

""" return round(sum(notes)/len(notes),1)

def notes(l_alumnes): """ Donada un llista de resistres l_alumnes, retorna una llista de registres tal que cada registre conte el nom d'un alumne i la seva nota mitjana.

notes(l_alumnes) [['Joana', 4.9], ['Michael', 4.4], ['Laia', 5.0], ['Fatima', 2.8], ['Samir', 4.3]] """ l_notes = [] for alumne in l_alumnes: l_notes.append([alumne[0], nota_mitjana(alumne[3:])]) #l_notes += [[alumne[0], nota_mitjana(alumne[3:])]] return l_notes if name == 'main': l_alumnes = [['Joana', 2003, 'Carrer Major, 27', 7.6, 0.3, 2.8, 9.0], ['Michael', 2003, 'Ronda del Mig, 245', 8.7, 0.1], ['Laia', 2003, 'Passeig de la Platja, 3', 1.5, 9.8, 3.7, 1.6, 1.4, 3.8, 6.9, 5.4, 7.6, 8.0], ['Fatima', 2003, 'Carrer de Baixada, 721', 2.8], ['Samir', 2001, 'Carrer Pujades, 94 bis', 6.9, 3.6, 1.8, 2.0, 7.0]] import doctest print(doctest.testmod(verbose=True))

TEAM

FINANCES

X 4 6617 Hi ha creus

LA CUENTA

X87295 Matriu permutació

X 69277 Traça d’una matriu quadrada

X45419 Tri-guapa

X46617 Matriu simètrica

(MAGI)

(MARIA)

X81564 Matriu triangular inferior

X 6 5541 Pensions

P26374 Sumes de matrius quadrades