Teknik Mengambil Data Kolom Tertentu pada List Dua Dimensi Python

Sharing is caring!

Di dalam Python terdapat beberapa tipe data dinamis yang dapat digunakan untuk menyimpan banyak data. Salah satu tipe data dinamis ini adalah list. List merupakan tipe data yang bersifat mutable, di mana struktur list ini dapat diubah, tidak seperti tipe data dinamis lainnya yaitu tuple dan set.

Secara struktur, tipe data list mirip dengan array di mana dapat menyimpan banyak data dalam bentuk satu dimensi maupun dua dimensi. Pada artikel ini akan dibahas bagaimana teknik mengambil data pada kolom tertentu pada list dua dimensi. Tidak seperti jika mengambil data pada baris tertentu dari list yang mudah dilakukan, mengambil data pada kolom tertentu pada list ini perlu dilakukan teknik tertentu. Ada dua teknik yang akan dibahas pada artikel ini untuk keperluan tersebut, yaitu menggunakan teknik manual dengan menggunakan looping, dan menggunakan lambda expression.

Misalkan diberikan struktur data list sebagai berikut:

 myList = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 

Terlihat bahwa list di atas terdiri dari 3 baris data, dan setiap baris datanya terdapat 3 kolom (atau berdimensi 3×3). Selanjutnya misalkan kita ingin mengambil data pada kolom ke dua atau [2, 5, 8].

Teknik Looping

Untuk mengambil data pada kolom tertentu dalam list menggunakan looping, kita cukup menggunakan perulangan for. Idenya adalah pertama kita buat list kosong terlebih dahulu, berikutnya untuk setiap baris list kita baca kolom yang dimaksud, lalu dimasukkan ke dalam list kosong tersebut. Proses ini diulang-ulang untuk setiap baris list. Sehingga setelah looping selesai (sebanyak baris list), diperolehlah sebuah list baru yang berisi data pada kolom tertentu dari list.

Perhatikan contoh script berikut ini sebagai implementasi dari teknik di atas.

# buat list kosong untuk menampung data
ambil = []
# lakukan looping terhadap list
for row in myList:
    # baca kolom tertentu dan masukkan ke list 'ambil'
    ambil.append(row[1])
# cetak isi list 'ambil', output = [2, 5, 8]
print(ambil)

Pada perulangan for di atas, perintah ‘for row in mylist’ secara otomatis membaca setiap baris data dari list. Setiap baris datanya disimpan dalam variabel ‘row’. Karena kolom yang mau diambil adalah kolom ke-2 (indeks ke-1 dari data), maka ‘row[1]’ lah yang diappend ke dalam list ‘ambil’. Dalam hal ini, perintah ‘ambil.append()’ digunakan untuk melakukan push/menambahkan elemen data ke dalam list ‘ambil’.

Teknik Lambda Expression

Apabila menggunakan teknik looping seperti di atas membutuhkan beberapa baris kode, maka dengan menggunakan lambda expression hanya cukup dengan satu baris perintah saja.

Untuk mengambil data pada kolom tertentu pada list dua dimensi menggunakan lambda expression cukup menggunakan function map() yang kemudian hasilnya dikonversi ke list menggunakan list().

Perhatikan ekspresi berikut ini:

ambil = list(map(lambda row: row[1], myList))
print(ambil)

Perintah map() di atas memetakan setiap data row yang ada pada kolom ke-2 (indeks ke-1) atau ‘row[1]’ yang ada dalam list ‘mylist’.

Setelah berhasil dipetakan menggunakan map() selanjutnya dikonversi ke dalam tipe data list dengan list(). Dengan teknik ini akan didapatkan hasil yang sama dengan teknik looping sebelumnya.

Jadi… dari kedua teknik di atas manakah cara yang menurut Anda paling mudah? It’s up to you… 🙂

Tinggalkan Komentar