MulaiMulai sekarang secara gratis

List comprehension bersarang

Bagus! Pada titik ini, Anda sudah memahami sintaks dasar list comprehension dengan baik. Mari kita dorong sedikit lagi kemampuan Anda menulis kode. Dalam latihan ini, Anda akan menulis sebuah list comprehension di dalam list comprehension lainnya, atau list comprehension bersarang. Kedengarannya agak rumit, tetapi Anda pasti bisa!

Untuk sementara, mari kita tinggalkan string. Salah satu cara penggunaan list adalah untuk merepresentasikan objek multi-dimensi seperti matriks. Matriks dapat direpresentasikan sebagai list berisi list di Python. Contohnya, sebuah matriks 5 x 5 dengan nilai 0 sampai 4 pada setiap baris dapat ditulis sebagai:

matrix = [[0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4]]

Tugas Anda adalah membuat ulang matriks ini dengan menggunakan list comprehension bersarang. Ingat bahwa Anda dapat membuat salah satu baris matriks dengan satu list comprehension. Untuk membuat list berisi list, Anda cukup memberikan list comprehension tersebut sebagai ekspresi keluaran dari list comprehension keseluruhan:

[[ekspresi keluaran] for variabel iterator in iterabel]

Perhatikan bahwa di sini, ekspresi keluaran itu sendiri adalah sebuah list comprehension.

Latihan ini adalah bagian dari kursus

Kotak Perkakas Python

Lihat Kursus

Petunjuk latihan

  • Di list comprehension bagian dalam — yaitu ekspresi keluaran dari list comprehension bersarang — buat list berisi nilai dari 0 hingga 4 menggunakan range(). Gunakan col sebagai variabel iterator.
  • Pada bagian iterabel dari list comprehension bersarang Anda, gunakan range() untuk menghitung 5 baris — yaitu membuat list berisi nilai dari 0 hingga 4. Gunakan row sebagai variabel iterator; perhatikan bahwa Anda tidak akan memerlukan variabel ini untuk membuat nilai dalam list berisi list.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create a 5 x 5 matrix using a list of lists: matrix
matrix = [[____] ____]

# Print the matrix
for row in matrix:
    print(row)
Edit dan Jalankan Kode