py list matrix 2d

16 Feb 2022 • viridi | history ▶ 

Perlu kehati-hatian dalam memanfaatkan list 2d dalam Python [1]. Pemanfaatan list tersebut sebagai matriks 2d dan bagaimana menampilkan isinya disajikan di sini secara sederhana dan ringkas.

2d matrix

Suatu matriks 2d dapat dituliskan dalam bentuk

\begin{equation}\label{eqn:matrix-2d} A = \left[ \begin{array}{ccc} 1 & 0 & 8 \newline 2 & 0 & 7 \newline 3 & 0 & 6 \newline 4 & 0 & 5 \newline \end{array} \right], \end{equation}

yang memiliki dimensi $m \times n$ dengan $m = 4$ adalah jumlah baris dan $n = 3$ adalah jumlah kolom. Elemennya dinyatakan dengan $a_{ij}$, yang misalnya $a_{23} = 7$.

list of list

Salah satu cara menyatakan matriks adalah dengan menggunakan list dari list dalam Python, yang untuk matriks pada Persamaan \eqref{eqn:matrix-2d} dituliskan sebagai

A = [
	[1, 0, 8],
	[4, 0, 7],
	[3, 0, 6],
	[4, 0, 5]
	]

yang dalam mengkses elemennya agak sedikit berbeda karena indeks suatu list dimulai dari nol, sehingga

print(A[1][2])

akan menghasilkan angka 7 yang berkaitan dengan notasi $a_{23}$ pada Persamaan \eqref{eqn:matrix-2d}.

a code

Suatu kode Python dapat dibuat seperti di bawah ini

# 0480-matrix-no-numpy-print.py
# Define and view a matrix
# 20220216 Create this example.

# print only two-dimension matrix in form of a list
def printmat(m):
    # assume that all rows have the same number of columns
    row = len(m)
    col = len(m[0])

    # iterate through rows then colums
    for r in range(row):
        for c in range(col):
            print(m[r][c], end='\t')
        print()


# define a list as two-dimension matrix
m = [
    [1, 2, 3, 4, 5],
    [5, 6, 7, 8, 9],
    [9, 8, 0, 4, 2]
    ]

# display result
print("Print a matrix directly:")
print(m)

print()

print("Print a matrix using printmat() function:")
printmat(m)

yang akan menghasilkan

==== RESTART: 0480-matrix-no-numpy-print.py ====
Print a matrix directly:
[[1, 2, 3, 4, 5], [5, 6, 7, 8, 9], [9, 8, 0, 4, 2]]

Print a matrix using printmat() function:
1	2	3	4	5	
5	6	7	8	9	
9	8	0	4	2

sebagai hasilnya, saat dijalankan. Perhatikan bahwa Python menampilkan isi suatu list dari list, yang dalam hal ini digunakan sebagai matriks 2d dengan [] di dalam [] yaitu [ [], [], .. ] yang merupakan cara yang lazim dalam pemrograman. Di sini dibuatkan fungsi printmat() untuk memberikan notasi yang lebih mirip ke bentuk matematikanya seperti pada Persamaan \eqref{eqn:matrix-2d}.

Kode di atas dapat dijalan secara daring di OneCompiler 3xtj9rzv6.

exer

  1. Bagaimana mengakses elemen dengan nilai 5 pada Persamaan \eqref{eqn:matrix-2d} secara notasi matematika dan secara pemrograman Python?
  2. Pada kode dengan nama 0480-matrix-no-numpy-print.py berapa dimensi matriks yang ditampilkan?

note

  1. Pranav Devarakonda, amainaster, ragulravi, “Python | Using 2D arrays/lists the right way”, GeeksforGeeks, 15 Mar 2021, url https://www.geeksforgeeks.org/python-using-2d-arrays-lists-the-right-way/ [20220216].

comments

#bug0480

— Sparisoma Viridi (@6unpnp) February 16, 2022

 

1) $a_{43}$ dan `A[3][2]`;   2) $3 \times 5$;