Làm thế nào để tránh các vòng lặp lồng nhau python

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
9
0

    

1
2
3
Element found
7
8
9
2
1
2
3
Element found
7
8
9
3
1
2
3
Element found
7
8
9
4
1
2
3
Element found
7
8
9
5

1
2
3
Element found
7
8
9
6

1
2
3
Element found
7
8
9
7
1
2
3
Element found
7
8
9
8

1
2
3
Element found
7
8
9
7
1
2
3
Element found
0

1
2
3
Element found
7
8
9
7
1
2
3
Element found
7
8
9
2
1
2
3
Element found
3
1
2
3
Element found
7
8
9
4
1
2
3
Element found
5

 

1
2
3
Element found
6_______10_______7

1
2
3
Element found
6_______10_______9

1
2
3
Element found
6_______10_______1
1
2
3
Element found
3
1
2
3
Element found
3
1
2
3
Element found
3
1
2
3
Element found
5

1
2
3
Element found
6_______10_______7
1
2
3
Element found
8
1
2
3
Element found
9
1
2
3
Element found
0

1
2
3
Element found
6
1
2
3
Element found
2

1
2
3
Element found
6_______10_______4
1
2
3
Element found
5

1
2
3
Element found
6_______10_______7
1
2
3
Element found
8

 

 

1
2
3
Element found
9

def0_______10_______3 def2def3def4def5def4def7def8def5def4elementInArray[arr, x]:1def4elementInArray[arr, x]:3def8_______43_______5_______42_______43_______43_______443_______43_______4

cho đến lần lặp hiện tại của vòng lặp for bên ngoài? . Chương trình này trả về một bộ ba từ danh sách arr sao cho arr[i] - arr[j] = arr[j] - arr[k] = d and i

Chủ Đề