Trong bài viết này, chúng ta sẽ xem cách thoát khỏi nhiều vòng lặp trong Python. Ví dụ: chúng tôi được cung cấp một danh sách các danh sách arr và một số nguyên x. Nhiệm vụ là lặp qua từng danh sách lồng nhau theo thứ tự và tiếp tục hiển thị các phần tử cho đến khi tìm thấy phần tử bằng x. Nếu một phần tử như vậy được tìm thấy, một thông báo thích hợp sẽ được hiển thị và mã phải ngừng hiển thị bất kỳ phần tử nào nữa
Thí dụ
Input: arr = [[10, 20, 30], [40, 50, 60, 70]], x = 50 Output: 10 20 30 40 Element found
Một cách tiếp cận trực tiếp cho vấn đề này là lặp qua tất cả các phần tử của mảng bằng vòng lặp for và sử dụng vòng lặp for lồng nhau để lặp qua tất cả các phần tử của từng danh sách lồng nhau trong mảng và tiếp tục in chúng. Nếu gặp một phần tử bằng x, thông báo thích hợp sẽ được hiển thị và mã phải thoát ra khỏi cả hai vòng lặp
Tuy nhiên, nếu chúng ta chỉ sử dụng một câu lệnh ngắt duy nhất, mã sẽ chỉ kết thúc vòng lặp bên trong và vòng lặp bên ngoài sẽ tiếp tục chạy, điều mà chúng ta không muốn xảy ra.
Python3
def
elementInArray[arr, x]:
# Iterating through all
1 2 3 Element found 7 8 90
1 2 3 Element found 7 8 92
1 2 3 Element found 7 8 93
1 2 3 Element found 7 8 94
1 2 3 Element found 7 8 95
1 2 3 Element found 7 8 96
1 2 3 Element found 7 8 97
1 2 3 Element found 7 8 98
1 2 3 Element found 7 8 97
1 2 3 Element found0
1 2 3 Element found 7 8 97
1 2 3 Element found 7 8 92
1 2 3 Element found3
1 2 3 Element found 7 8 94
1 2 3 Element found5
1 2 3 Element found6_______10_______7
1 2 3 Element found6_______10_______9
1 2 3 Element found6_______10_______1
1 2 3 Element found3
1 2 3 Element found3
1 2 3 Element found3
1 2 3 Element found5
1 2 3 Element found6_______10_______7
1 2 3 Element found8
1 2 3 Element found9
1 2 3 Element found0
1 2 3 Element found6
1 2 3 Element found2
1 2 3 Element found6_______10_______4
1 2 3 Element found5
1 2 3 Element found6_______10_______7
1 2 3 Element found8
1 2 3 Element found9
def
0_______10_______3 def
2def
3def
4def
5def
4def
7def
8def
5def
4elementInArray[arr, x]:
1def
4elementInArray[arr, x]:
3def
8_______43_______5_______42_______43_______43_______443_______43_______4