Video(NTNU)
Innhold
- Matriser er egentlig bare todimensjonale lister.
- Nummerering – Tenk kinosal – rad og plass.
- Prinsipp – [liste1, liste2, liste3]
- matrisenavn[y][x]
Prinsipp for matrise:
Eksempel:
# Test av flerdimensjonal liste mat1 = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] print(mat1[1]) # [4, 5, 6] print(mat1[1][1]) # 5 print(mat1) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(type(mat1)) # <class 'list'>
Iterering over innhold:
Opprette og printe ut gangetabell:
mat_1 = [] for i in range(1, 11): rad = [] for j in range(1, 11): rad.append(i * j) mat_1.append(rad) for rad in mat_1: for tall in rad: print(str(tall).rjust(5), end="") print()
Programkode til filmen:
# Vi oppretter en matrise med gangetabellen for tallene 1 til 10. matrise = [] for i in range(1, 11): rad = [] for j in range(1, 11): rad.append(i * j) matrise.append(rad) # Fin printing av matrisa, der vi bruk. streng.rjust()-funksjonen for rad in matrise: for tall in rad: print(str(tall).rjust(5), end="") print() # Deretter sletter vi elementer og rader fra matrisa del matrise[0][1] del matrise[0][8] del matrise[2] # Legg merke til at her slettes faktisk en hel rad del matrise[4][2] del matrise[3][2] del matrise[8][9] # Nå vil vi endre alle tall i matrisa til 0 istedet, men nå er det # ikke lenger sånn at alle rader har lengde 10. Derfor passer vi på # å bruke len(matrise) og len(rad) [samme som len(matrise[i])] i # for-løkkene. for i in range(len(matrise)): rad = matrise[i] for j in range(len(rad)): rad[j] = 0 # Merk at her vil matrise[i][j] = 0 gi akk. samme resultat! # Til slutt printer vi matrisa igjen - samme kode som tidligere! print("\n") for rad in matrise: for tall in rad: print(str(tall).rjust(5), end="") print()