Loop melalui array python bersarang

Daftar dapat berisi objek pengurutan apa pun, bahkan daftar lain (sublist), yang pada gilirannya dapat berisi sublist itu sendiri, dan seterusnya. Ini dikenal sebagai daftar bersarang

Anda dapat menggunakannya untuk mengatur data ke dalam struktur hierarkis

Buat Daftar Bersarang

Daftar bersarang dibuat dengan menempatkan urutan subdaftar yang dipisahkan koma

L = ['a', ['bb', ['ccc', 'ddd'], 'ee', 'ff'], 'g', 'h']

Akses Item Daftar Bersarang berdasarkan Indeks

Anda dapat mengakses masing-masing item dalam daftar bersarang menggunakan beberapa indeks

Indeks untuk item dalam daftar bersarang diilustrasikan seperti di bawah ini

Loop melalui array python bersarang

L = ['a', 'b', ['cc', 'dd', ['eee', 'fff']], 'g', 'h']

print(L[2])
# Prints ['cc', 'dd', ['eee', 'fff']]

print(L[2][2])
# Prints ['eee', 'fff']

print(L[2][2][0])
# Prints eee
_

Pengindeksan Daftar Negatif Dalam Daftar Bersarang

Anda juga dapat mengakses daftar bersarang dengan pengindeksan negatif

Indeks negatif dihitung mundur dari akhir daftar. Jadi, 

L = ['a', 'b', ['cc', 'dd', ['eee', 'fff']], 'g', 'h']

print(L[2])
# Prints ['cc', 'dd', ['eee', 'fff']]

print(L[2][2])
# Prints ['eee', 'fff']

print(L[2][2][0])
# Prints eee
_2 mengacu pada item terakhir, 
L = ['a', 'b', ['cc', 'dd', ['eee', 'fff']], 'g', 'h']

print(L[2])
# Prints ['cc', 'dd', ['eee', 'fff']]

print(L[2][2])
# Prints ['eee', 'fff']

print(L[2][2][0])
# Prints eee
3 adalah yang kedua terakhir, dan seterusnya

Indeks negatif untuk item dalam daftar bersarang diilustrasikan seperti di bawah ini

Loop melalui array python bersarang

L = ['a', 'b', ['cc', 'dd', ['eee', 'fff']], 'g', 'h']

print(L[-3])
# Prints ['cc', 'dd', ['eee', 'fff']]

print(L[-3][-1])
# Prints ['eee', 'fff']

print(L[-3][-1][-2])
# Prints eee
_

Ubah Nilai Item Daftar Bersarang

Anda dapat mengubah nilai item tertentu dalam daftar bersarang dengan mengacu pada nomor indeksnya

L = ['a', ['bb', 'cc'], 'd']
L[1][1] = 0
print(L)
# Prints ['a', ['bb', 0], 'd']

Menambahkan item ke daftar Bersarang

Untuk menambahkan nilai baru ke akhir daftar bersarang, gunakan metode append()

L = ['a', ['bb', 'cc'], 'd']
L[1].append('xx')
print(L)
# Prints ['a', ['bb', 'cc', 'xx'], 'd']
_

Saat Anda ingin menyisipkan item pada posisi tertentu dalam daftar bersarang, gunakan metode insert()

L = ['a', ['bb', 'cc'], 'd']
L[1].insert(0,'xx')
print(L)
# Prints ['a', ['xx', 'bb', 'cc'], 'd']

Anda dapat menggabungkan satu daftar ke daftar lainnya dengan menggunakan metode extend()

L = ['a', ['bb', 'cc'], 'd']
L[1].extend([1,2,3])
print(L)
# Prints ['a', ['bb', 'cc', 1, 2, 3], 'd']
_

Hapus item dari Daftar Bersarang

Jika Anda mengetahui indeks item yang Anda inginkan, Anda dapat menggunakan metode pop(). Itu mengubah daftar dan mengembalikan item yang dihapus

Di Python, loop di dalam loop dikenal sebagai loop bersarang. Dalam tutorial ini, kita akan belajar tentang loop bersarang di Python dengan bantuan contoh

Juga, Selesaikan

  • Latihan lingkaran python
  • Kuis lingkaran Python

Daftar isi

Apa itu Nested Loop di Python?

Nested loop adalah loop di dalam tubuh loop luar. Loop dalam atau luar dapat bertipe apa saja, seperti while loop atau for loop. Misalnya, loop luar

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
_3 dapat berisi loop
1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
4 dan sebaliknya

Loop luar dapat berisi lebih dari satu loop dalam. Tidak ada batasan pada rangkaian loop

Pada loop bersarang, jumlah iterasi akan sama dengan jumlah iterasi pada loop luar dikalikan dengan iterasi pada loop dalam

Di setiap iterasi dari loop luar, loop dalam mengeksekusi semua iterasinya. Untuk setiap iterasi loop luar, loop dalam memulai kembali dan menyelesaikan eksekusinya sebelum loop luar dapat melanjutkan ke iterasi berikutnya

Loop bersarang biasanya digunakan untuk bekerja dengan struktur data multidimensi, seperti mencetak array dua dimensi, mengulangi daftar yang berisi daftar bersarang.

Nested loop adalah bagian dari pernyataan alur kontrol yang membantu Anda memahami dasar-dasar Python

Python Bersarang untuk Loop

Dalam Python, for loop digunakan untuk mengulang urutan seperti daftar, string, tuple, objek iterable lainnya seperti range

Sintaks menggunakan loop for bersarang di Python

# outer for loop
for element in sequence 
   # inner for loop
   for element in sequence:
       body of inner for loop
   body of outer for loop

Dalam contoh ini, kami menggunakan perulangan for di dalam perulangan

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
3. Dalam contoh ini, kami mencetak tabel perkalian dari sepuluh angka pertama

  • Loop
    1 2 3 4 5 6 7 8 9 10 
    2 4 6 8 10 12 14 16 18 20 
    3 6 9 12 15 18 21 24 27 30 
    4 8 12 16 20 24 28 32 36 40 
    5 10 15 20 25 30 35 40 45 50 
    6 12 18 24 30 36 42 48 54 60 
    7 14 21 28 35 42 49 56 63 70 
    8 16 24 32 40 48 56 64 72 80 
    9 18 27 36 45 54 63 72 81 90 
    10 20 30 40 50 60 70 80 90 100 
    _3 luar menggunakan fungsi range() untuk mengulangi sepuluh angka pertama
  • Putaran
    1 2 3 4 5 6 7 8 9 10 
    2 4 6 8 10 12 14 16 18 20 
    3 6 9 12 15 18 21 24 27 30 
    4 8 12 16 20 24 28 32 36 40 
    5 10 15 20 25 30 35 40 45 50 
    6 12 18 24 30 36 42 48 54 60 
    7 14 21 28 35 42 49 56 63 70 
    8 16 24 32 40 48 56 64 72 80 
    9 18 27 36 45 54 63 72 81 90 
    10 20 30 40 50 60 70 80 90 100 
    _3 dalam akan dijalankan sepuluh kali untuk setiap angka luar
  • Di badan loop dalam, kami akan mencetak perkalian dari angka luar dan angka saat ini
  • Lingkaran dalam tidak lain adalah badan dari lingkaran luar

Loop melalui array python bersarang
Loop melalui array python bersarang
Python bersarang untuk loop

Contoh. Tulis program loop

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
3 bersarang untuk mencetak tabel perkalian dengan Python

# outer loop
for i in range(1, 11):
    # nested loop
    # to iterate from 1 to 10
    for j in range(1, 11):
        # print multiplication
        print(i * j, end=' ')
    print()

Keluaran

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
_
  • Dalam program ini, loop luar
    1 2 3 4 5 6 7 8 9 10 
    2 4 6 8 10 12 14 16 18 20 
    3 6 9 12 15 18 21 24 27 30 
    4 8 12 16 20 24 28 32 36 40 
    5 10 15 20 25 30 35 40 45 50 
    6 12 18 24 30 36 42 48 54 60 
    7 14 21 28 35 42 49 56 63 70 
    8 16 24 32 40 48 56 64 72 80 
    9 18 27 36 45 54 63 72 81 90 
    10 20 30 40 50 60 70 80 90 100 
    _3 adalah pengulangan angka dari 1 hingga 10.
    *
    * *
    * * *
    * * * *
    * * * * *
    _0 mengembalikan 10 angka. Jadi jumlah total iterasi dari loop luar adalah 10
  • Pada iterasi pertama dari loop bersarang, angkanya adalah 1. Selanjutnya, itu 2. dan seterusnya sampai jam 10
  • Selanjutnya, Untuk setiap iterasi dari loop luar, loop dalam akan dieksekusi sepuluh kali. Loop dalam juga akan dieksekusi sepuluh kali karena kita mencetak tabel perkalian hingga sepuluh
  • Di setiap iterasi loop dalam, kami menghitung perkalian dua angka

Loop Bersarang untuk Mencetak Pola

Penggunaan loop bersarang yang paling umum lainnya adalah untuk mencetak berbagai pola bintang dan angka

Mari kita lihat bagaimana menggunakan nested loop untuk mencetak pola berikut dengan Python

Pola

*
* *
* * *
* * * *
* * * * *

Program

rows = 5
# outer loop
for i in range(1, rows + 1):
    # inner loop
    for j in range(1, i + 1):
        print("*", end=" ")
    print('')
  • Dalam program ini, loop luar adalah jumlah baris yang dicetak.  
  • Jumlah baris adalah lima, sehingga loop luar akan dieksekusi lima kali
  • Selanjutnya, loop dalam adalah jumlah total kolom di setiap baris
  • Untuk setiap iterasi loop luar, jumlah kolom bertambah 1
  • Pada iterasi pertama dari loop luar, jumlah kolom adalah 1, selanjutnya 2. dan seterusnya
  • Iterasi loop dalam sama dengan jumlah kolom
  • Di setiap iterasi dari loop dalam, kami mencetak bintang

While loop di dalam for loop

Sangat umum dan bermanfaat untuk menggunakan satu jenis loop di dalam yang lain. kita dapat menempatkan loop sementara di dalam 

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
3 loop

Asumsikan kami ingin mengulang setiap nama dari daftar lima kali

  • Di sini kita akan mengulang daftar menggunakan loop for luar
  • Di setiap iterasi loop for luar, loop for dalam dijalankan lima kali untuk mencetak nama saat ini lima kali
names = ['Kelly', 'Jessa', 'Emma']
# outer loop
for name in names:
    # inner while loop
    count = 0
    while count < 5:
        print(name, end=' ')
        # increment counter
        count = count + 1
    print()

Keluaran

Kelly Kelly Kelly Kelly Kelly 
Jessa Jessa Jessa Jessa Jessa 
Emma Emma Emma Emma Emma 

Praktik. Cetak Pola persegi panjang dengan 5 baris dan 3 kolom bintang

Selesaikan latihan loop bersarang Python di bawah ini

Cetak persegi panjang bintang berikut

***
***
***
***
***

Selesaikan lebih banyak latihan lingkaran

Tunjukkan Solusi

# 5 rows
for name in range(5):
    # 3 column
    for j in range(3):
        print('*', end='')
    print()

Hancurkan loop Bersarang

Pernyataan break digunakan di dalam loop untuk keluar dari loop. Jika digunakan di dalam loop bersarang (loop di dalam loop lain), itu akan

Dalam contoh berikut, kami memiliki dua loop. Loop

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
3 luar mengulangi empat angka pertama menggunakan fungsi
*
* *
* * *
* * * *
* * * * *
0, dan loop
1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
3 dalam juga mengulangi empat angka pertama. Jika nomor terluar dan nomor saat ini dari loop dalam sama, maka hancurkan loop dalam (bersarang).

Contoh

for i in range(4):
    for j in range(4):
        if j == i:
            break
        print(i, j)

Keluaran

# outer loop
for i in range(1, 11):
    # nested loop
    # to iterate from 1 to 10
    for j in range(1, 11):
        # print multiplication
        print(i * j, end=' ')
    print()
_0

Seperti yang Anda lihat di output, tidak ada baris yang berisi nomor yang sama

Lanjutkan pengulangan bersarang

Lewati iterasi saat ini dan pindah ke iterasi berikutnya. Dalam Python, ketika pernyataan

*
* *
* * *
* * * *
* * * * *
_5 ditemui di dalam loop, ia akan melompati semua pernyataan di bawahnya dan langsung melompat ke iterasi berikutnya

Dalam contoh berikut, kami memiliki dua loop. Perulangan for luar mengulangi daftar pertama, dan perulangan dalam juga mengulangi daftar angka kedua

Jika angka terluar dan angka arus loop dalam sama, maka pindah ke iterasi berikutnya dari loop dalam

Contoh

# outer loop
for i in range(1, 11):
    # nested loop
    # to iterate from 1 to 10
    for j in range(1, 11):
        # print multiplication
        print(i * j, end=' ')
    print()
_1

Keluaran

# outer loop
for i in range(1, 11):
    # nested loop
    # to iterate from 1 to 10
    for j in range(1, 11):
        # print multiplication
        print(i * j, end=' ')
    print()
_2

Seperti yang Anda lihat di output, tidak ada angka yang sama yang mengalikan satu sama lain

Loop Bersarang Baris Tunggal Menggunakan Pemahaman Daftar

Misalnya, jika Anda memiliki dua daftar dan ingin mendapatkan semua kombinasinya, Untuk mencapai ini, Anda perlu menggunakan dua loop bersarang seperti yang disebutkan di bawah ini

# outer loop
for i in range(1, 11):
    # nested loop
    # to iterate from 1 to 10
    for j in range(1, 11):
        # print multiplication
        print(i * j, end=' ')
    print()
_3

Anda dapat menulis kode yang lebih cepat dan ringkas menggunakan kompresi daftar dan loop bersarang seperti yang ditunjukkan di bawah ini

# outer loop
for i in range(1, 11):
    # nested loop
    # to iterate from 1 to 10
    for j in range(1, 11):
        # print multiplication
        print(i * j, end=' ')
    print()
_4

Bagaimana cara menulisnya

  • Pertama, Tulis loop
    1 2 3 4 5 6 7 8 9 10 
    2 4 6 8 10 12 14 16 18 20 
    3 6 9 12 15 18 21 24 27 30 
    4 8 12 16 20 24 28 32 36 40 
    5 10 15 20 25 30 35 40 45 50 
    6 12 18 24 30 36 42 48 54 60 
    7 14 21 28 35 42 49 56 63 70 
    8 16 24 32 40 48 56 64 72 80 
    9 18 27 36 45 54 63 72 81 90 
    10 20 30 40 50 60 70 80 90 100 
    3 luar yang akan mengulangi daftar pertama seperti
    *
    * *
    * * *
    * * * *
    * * * * *
    7
  • Selanjutnya, Tulis loop dalam yang akan mengulangi daftar kedua setelah loop luar seperti
    *
    * *
    * * *
    * * * *
    * * * * *
    8
  • Terakhir, hitung penjumlahan bilangan luar dan bilangan dalam seperti
    *
    * *
    * * *
    * * * *
    * * * * *
    9
  • Terakhir, simpan hasil dalam daftar baru seperti
    rows = 5
    # outer loop
    for i in range(1, rows + 1):
        # inner loop
        for j in range(1, i + 1):
            print("*", end=" ")
        print('')
    0

Mari kita lihat lebih banyak contoh seperti itu

Dalam contoh ini, kami akan menggunakan dua

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
_3 loop dalam Pemahaman daftar dan hasil akhirnya adalah daftar daftar. kami tidak akan menyertakan nomor yang sama di setiap daftar. kami akan memfilternya menggunakan kondisi if

# outer loop
for i in range(1, 11):
    # nested loop
    # to iterate from 1 to 10
    for j in range(1, 11):
        # print multiplication
        print(i * j, end=' ')
    print()
_5

Keluaran

# outer loop
for i in range(1, 11):
    # nested loop
    # to iterate from 1 to 10
    for j in range(1, 11):
        # print multiplication
        print(i * j, end=' ')
    print()
_6

Bersarang saat Loop dengan Python

Dalam Python, pernyataan while loop berulang kali mengeksekusi blok kode saat kondisi tertentu benar. Kami menggunakan w a while loop ketika iterasi angka tidak diperbaiki

Pada bagian ini, kita akan melihat bagaimana menggunakan perulangan while di dalam perulangan while lainnya

Sintaks untuk menulis pernyataan while loop bersarang di Python adalah sebagai berikut

# outer loop
for i in range(1, 11):
    # nested loop
    # to iterate from 1 to 10
    for j in range(1, 11):
        # print multiplication
        print(i * j, end=' ')
    print()
_7

Contoh

Dalam contoh ini, kami akan mencetak 10 angka pertama pada setiap baris sebanyak 5 kali

# outer loop
for i in range(1, 11):
    # nested loop
    # to iterate from 1 to 10
    for j in range(1, 11):
        # print multiplication
        print(i * j, end=' ')
    print()
_8

Keluaran

# outer loop
for i in range(1, 11):
    # nested loop
    # to iterate from 1 to 10
    for j in range(1, 11):
        # print multiplication
        print(i * j, end=' ')
    print()
_9

for loop di dalam While loop

Terkadang berguna untuk menggunakan satu jenis loop di dalam yang lain. kita dapat menempatkan loop 

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
3 di dalam loop 
1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
4

Asumsikan kami ingin mencetak semua angka sempurna dari 1 hingga 100

  • Di sini kita akan mengulangi 100 angka pertama menggunakan
    1 2 3 4 5 6 7 8 9 10 
    2 4 6 8 10 12 14 16 18 20 
    3 6 9 12 15 18 21 24 27 30 
    4 8 12 16 20 24 28 32 36 40 
    5 10 15 20 25 30 35 40 45 50 
    6 12 18 24 30 36 42 48 54 60 
    7 14 21 28 35 42 49 56 63 70 
    8 16 24 32 40 48 56 64 72 80 
    9 18 27 36 45 54 63 72 81 90 
    10 20 30 40 50 60 70 80 90 100 
    4 loop
  • Di setiap iterasi loop
    1 2 3 4 5 6 7 8 9 10 
    2 4 6 8 10 12 14 16 18 20 
    3 6 9 12 15 18 21 24 27 30 
    4 8 12 16 20 24 28 32 36 40 
    5 10 15 20 25 30 35 40 45 50 
    6 12 18 24 30 36 42 48 54 60 
    7 14 21 28 35 42 49 56 63 70 
    8 16 24 32 40 48 56 64 72 80 
    9 18 27 36 45 54 63 72 81 90 
    10 20 30 40 50 60 70 80 90 100 
    _4 luar, loop
    1 2 3 4 5 6 7 8 9 10 
    2 4 6 8 10 12 14 16 18 20 
    3 6 9 12 15 18 21 24 27 30 
    4 8 12 16 20 24 28 32 36 40 
    5 10 15 20 25 30 35 40 45 50 
    6 12 18 24 30 36 42 48 54 60 
    7 14 21 28 35 42 49 56 63 70 
    8 16 24 32 40 48 56 64 72 80 
    9 18 27 36 45 54 63 72 81 90 
    10 20 30 40 50 60 70 80 90 100 
    3 dalam mengeksekusi dari 1 hingga nomor luar saat ini untuk memeriksa apakah nomor saat ini adalah angka sempurna
1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
_0

Kapan Menggunakan Nested Loop di Python?

  • Perulangan bersarang berguna saat Anda memiliki array atau daftar bersarang yang perlu dilingkarkan melalui fungsi yang sama
  • Saat Anda ingin mencetak pola bintang dan angka yang berbeda menggunakan baris dapat kolom

Ingatlah kompleksitas waktu. Mari kita pahami ini dengan contoh tentang cara kerja for loop bersarang di Python

Kami menggunakan for loop untuk mengulangi elemen urutan yang diberikan atau iterable. seperti

rows = 5
# outer loop
for i in range(1, rows + 1):
    # inner loop
    for j in range(1, i + 1):
        print("*", end=" ")
    print('')
_7. Di sini kompleksitas waktu adalah O(n) karena kami mengulangi semua item dari daftar

Jumlah langkah eksekusi (iterasi) menentukan kompleksitas waktu dari sebuah loop

Saat Anda menggunakan loop bersarang dan loop luar dan dalam berjalan tanpa kondisi if apa pun di dalamnya, kompleksitas waktunya adalah

rows = 5
# outer loop
for i in range(1, rows + 1):
    # inner loop
    for j in range(1, i + 1):
        print("*", end=" ")
    print('')
8 karena, untuk semua n elemen, kode dieksekusi sebanyak n kali

Contoh

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
_1

Keluaran

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100 
_2

Jika Anda memberikan kondisi di loop dalam yang akan berhenti mengeksekusi setelah beberapa elemen dan tidak mengeksekusi semua n iterasi dari loop dalam atau loop luar, kompleksitas waktu akan berkurang

Gunakan loop bersarang saat Anda tidak memiliki alternatif yang lebih baik, Ingat menulis kode yang efisien dan ringkas jauh lebih baik daripada menulis kode yang rumit

Bagaimana Anda mengulangi daftar di dalam daftar dengan Python?

6 Cara Iterasi melalui Daftar dengan Python .
Menggunakan untuk loop. Metode termudah untuk mengulang daftar dalam pemrograman python adalah dengan menggunakannya untuk satu putaran. .
Menggunakan fungsi loop dan range(). .
Menggunakan While loop. .
Menggunakan pemahaman daftar. .
Menggunakan fungsi enumerate(). .
Menggunakan fungsi Numpy

Bagaimana Anda membuat daftar bersarang dengan for loop?

Jadi, untuk membuat perulangan for bersarang dalam contoh kita, kita perlu melakukannya. .
Tulis fungsi untuk mengkuadratkan angka yang lolos filter
Tulis perulangan for for melalui semua daftar di Numbers
Tulis perulangan for for melalui setiap angka dalam daftar yang diteruskan
Tulislah kondisi yang melewati bilangan genap