Hướng dẫn how to loop through a multidimensional list in python - cách lặp qua danh sách đa chiều trong python

Một lời giải thích đơn giản.

Hình ảnh được cấp phép từ cổ phiếu Adobe

Danh sách là gì?

Danh sách chỉ đơn giản là một tập hợp các yếu tố. Trong Python, chúng là một loại dữ liệu, được biểu thị bằng dấu ngoặc.

Ví dụ: [0, 1, 4] là một danh sách với 3 yếu tố. Điều này được gọi là danh sách một chiều vì mỗi yếu tố của danh sách là một số.

>>> mylist = [["%s,%s"%(i,j) for j in range(columns)] for i in range(rows)]
>>> mylist
[['0,0', '0,1', '0,2'], ['1,0', '1,1', '1,2'], ['2,0', '2,1', '2,2']]
>>> zip(*mylist)
[('0,0', '1,0', '2,0'), ('0,1', '1,1', '2,1'), ('0,2', '1,2', '2,2')]
>>> sum(zip(*mylist),())
('0,0', '1,0', '2,0', '0,1', '1,1', '2,1', '0,2', '1,2', '2,2')

Làm thế nào để bạn lặp lại một danh sách 2D?

Để lặp qua một mảng 2D, trước tiên chúng tôi đi qua từng hàng và sau đó một lần nữa chúng tôi đi qua từng cột trong mỗi hàng. Đó là lý do tại sao chúng ta cần hai vòng, lồng nhau. Bất cứ lúc nào, nếu bạn muốn ra khỏi vòng lặp lồng nhau, bạn có thể sử dụng câu lệnh break.

Bạn có thể lặp qua một danh sách trong Python không?

a =

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
0
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
1
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
2
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
3__

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
1
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
2

Output:

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]

[2, 4, 6, 8, 10]
[3, 6, 9, 12, 15]
[4, 8, 12, 16, 20]
03
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
00
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
2
Accessing with the help of loop.

a =

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
0
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
1
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
2
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
3__

2. Mở rộng (): Thêm các yếu tố của danh sách (hoặc bất kỳ điều gì có thể lặp lại), vào cuối danh sách hiện tại.

a 0

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
1a 2

Output:

[2, 4, 6, 8, 10]
[3, 6, 9, 12, 15]
[4, 8, 12, 16, 20]

Các Accessing using square brackets.
Example:

3. Reversion (): đảo ngược thứ tự của danh sách.

Làm thế nào để tôi lặp lại một hai

Đầu tiên, danh sách được gán cho một biến gọi là dữ liệu. Sau đó, chúng tôi sử dụng một vòng lặp để lặp qua từng phần tử trong phạm vi của danh sách. Trừ khi chúng tôi chỉ định một chỉ mục bắt đầu cho phạm vi, nó mặc định là phần tử đầu tiên của danh sách. Đây là chỉ mục 0, và đó là những gì chúng tôi muốn trong trường hợp này.

Làm thế nào để bạn lặp một mảng đa chiều?

Vòng lặp qua các mảng đa chiều giống như với các mảng một chiều thông thường, bạn có thể sử dụng foreach để lặp qua các mảng đa chiều. Để làm điều này, bạn cần tạo các vòng foreach lồng nhau-nghĩa là một vòng lặp bên trong một vòng khác: Vòng ngoài đọc từng phần tử trong mảng cấp cao nhất.

a 0

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [20, 16, 12, 8, 4]]
6
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
33
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [20, 16, 12, 8, 4]]
8
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
27____128
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
29
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
38

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
39
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
1
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
41=
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
43
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
44

a 0

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
1
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
47

Output:

2 4 6 8 
1 3 5 7 
8 6 4 2 
7 5 3 1

Tạo một danh sách đa chiều với tất cả các số không:

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
48=
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
3

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
51=
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
00

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
1
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
2

Output:

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

Phương pháp trên danh sách đa chiều


1. append (): Thêm một phần tử ở cuối danh sách.example:Adds an element at the end of the list.
Example:

a =

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
0
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
1
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
2
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
3__

[2, 4, 6, 8, 10]
[3, 6, 9, 12, 15]
[4, 8, 12, 16, 20]
03
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
00
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
2

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
1
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
2

Output:

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20], [5, 10, 15, 20, 25]]

2. Mở rộng (): Thêm các yếu tố của danh sách (hoặc bất kỳ điều gì có thể lặp lại), vào cuối danh sách hiện tại.Add the elements of a list (or any iterable), to the end of the current list.

a =

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
0
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
1
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
2
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
3__

[2, 4, 6, 8, 10]
[3, 6, 9, 12, 15]
[4, 8, 12, 16, 20]
03
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
00
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
2

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
1
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
2

Output:

[[2, 4, 6, 8, 10, 12, 14, 16, 18], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]

2. Mở rộng (): Thêm các yếu tố của danh sách (hoặc bất kỳ điều gì có thể lặp lại), vào cuối danh sách hiện tại.Reverses the order of the list.

a =

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
0
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
1
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
2
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
3__

[2, 4, 6, 8, 10]
[3, 6, 9, 12, 15]
[4, 8, 12, 16, 20]
49
[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20]]
1
[2, 4, 6, 8, 10]
[3, 6, 9, 12, 15]
[4, 8, 12, 16, 20]
97

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
1
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
2

Output:

[[2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [20, 16, 12, 8, 4]]


Làm thế nào để tôi lặp lại một hai

Đầu tiên, danh sách được gán cho một biến gọi là dữ liệu. Sau đó, chúng tôi sử dụng một vòng lặp để lặp qua từng phần tử trong phạm vi của danh sách. Trừ khi chúng tôi chỉ định một chỉ mục bắt đầu cho phạm vi, nó mặc định là phần tử đầu tiên của danh sách. Đây là chỉ mục 0, và đó là những gì chúng tôi muốn trong trường hợp này.use a for loop to iterate through each element in the range of the list. Unless we specify a starting index for the range, it defaults to the first element of the list. This is index 0, and it's what we want in this case.

Làm thế nào để bạn lặp một mảng đa chiều?

Vòng lặp qua các mảng đa chiều giống như với các mảng một chiều thông thường, bạn có thể sử dụng foreach để lặp qua các mảng đa chiều.Để làm điều này, bạn cần tạo các vòng lặp foreach lồng nhau-nghĩa là một vòng lặp bên trong một vòng khác: Vòng ngoài đọc từng phần tử trong mảng cấp cao nhất.use foreach to loop through multidimensional arrays. To do this, you need to create nested foreach loops — that is, one loop inside another: The outer loop reads each element in the top-level array.

Làm thế nào để bạn lặp lại một danh sách 2D?

Để lặp qua một mảng 2D, trước tiên chúng tôi đi qua từng hàng và sau đó một lần nữa chúng tôi đi qua từng cột trong mỗi hàng.Đó là lý do tại sao chúng ta cần hai vòng, lồng nhau.Bất cứ lúc nào, nếu bạn muốn ra khỏi vòng lặp lồng nhau, bạn có thể sử dụng câu lệnh break.first go through each row, and then again we go through each column in every row. That's why we need two loops, nested in each other. Anytime, if you want to come out of the nested loop, you can use the break statement.

Bạn có thể lặp qua một danh sách trong Python không?

Bạn có thể lặp qua các mục danh sách bằng cách sử dụng vòng lặp thời gian.Sử dụng hàm Len () để xác định độ dài của danh sách, sau đó bắt đầu ở 0 và lặp theo cách của bạn thông qua các mục danh sách bằng cách tham khảo các chỉ mục của chúng.Hãy nhớ tăng chỉ số lên 1 sau mỗi lần lặp.. Use the len() function to determine the length of the list, then start at 0 and loop your way through the list items by referring to their indexes. Remember to increase the index by 1 after each iteration.