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ố.Một lời giải thích đơn giản.
Hình ảnh được cấp phép từ cổ phiếu AdobeDanh sách là gì?
Tôi có danh sách sau:
grid = [[2, 6, 8, 6, 9], [2, 5, 5, 5, 0], [1, 3, 8, 8, 7], [3, 2, 0, 6, 9], [2, 1, 4,5,8], [5, 6, 7, 4, 7]]
Tôi đã sử dụng vòng lặp fowling để đi qua từng phần tử ->
for i in xrange[len[grid[i]]]:
for j in xrange[len[grid[j]]]:
print grid[i][j]
print "\n"
Nhưng nó không hiển thị hàng cuối cùng.
Vì vậy, đó là cách thích hợp để truyền tải danh sách 2D trong Python?
Tế bào thần kinh
4.6924 Huy hiệu vàng33 Huy hiệu bạc54 Huy hiệu đồng4 gold badges33 silver badges54 bronze badges
Khi được hỏi ngày 22 tháng 5 năm 2014 lúc 6:11May 22, 2014 at 6:11
1
Cách thích hợp để vượt qua danh sách 2 chiều là
for row in grid:
for item in row:
print item,
print
Vòng lặp
for i in xrange[len[grid[i]]]:
for j in xrange[len[grid[j]]]:
print grid[i][j]
print "\n"
4 trong Python, sẽ chọn từng mục trên mỗi lần lặp. Vì vậy, từ danh sách for i in xrange[len[grid[i]]]:
for j in xrange[len[grid[j]]]:
print grid[i][j]
print "\n"
5 2-D, trên mỗi lần lặp, danh sách 1-D được chọn. Và trong vòng lặp bên trong, các yếu tố riêng lẻ trong danh sách 1-D được chọn.Nếu bạn đang sử dụng Python 3.x, vui lòng sử dụng
for i in xrange[len[grid[i]]]:
for j in xrange[len[grid[j]]]:
print grid[i][j]
print "\n"
6 làm hàm, không phải là một tuyên bố, như thế nàyfor row in grid:
for item in row:
print[item, end = " "]
print[]
Đầu ra
2 6 8 6 9
2 5 5 5 0
1 3 8 8 7
3 2 0 6 9
2 1 4 5 8
5 6 7 4 7
Nhưng, trong trường hợp, nếu bạn muốn thay đổi phần tử ở một chỉ mục cụ thể, thì bạn có thể làm
for row_index, row in enumerate[grid]:
for col_index, item in enumerate[row]:
gird[row_index][col_index] = 1 # Whatever needs to be assigned.
Đã trả lời ngày 22 tháng 5 năm 2014 lúc 6:12May 22, 2014 at 6:12
Thefourtheyethefourtheyethefourtheye
227K52 Huy hiệu vàng443 Huy hiệu bạc486 Huy hiệu Đồng52 gold badges443 silver badges486 bronze badges
8
Thay vào đó hãy thử theo dõi. Bạn có thể thực hiện hoạt động cần thiết thay vì "GRID [i] [J]"
for i in range[len[grid]]:
for j in range[len[grid[i]]]:
print grid[i][j]
print '---'
Đã trả lời ngày 22 tháng 5 năm 2014 lúc 6:27May 22, 2014 at 6:27
Tại sao không:
for i in grid:
for j in i:
print["{}".format[j]]
print["\n"]
Đã trả lời ngày 22 tháng 5 năm 2014 lúc 6:15May 22, 2014 at 6:15
FLOGFLLOGFLFlogFR
6899 Huy hiệu bạc16 Huy hiệu Đồng9 silver badges16 bronze badges
Hãy thử theo dõi ...
for i in grid:
for j in i:
print j
print '----'
Đã trả lời ngày 22 tháng 5 năm 2014 lúc 6:16May 22, 2014 at 6:16
1
Tại sao không sử dụng trong khi vòng lặp để vượt qua danh sách 2D
grid = [[2, 6, 8, 6, 9], [2, 5, 5, 5, 0], [1, 3, 8, 8, 7], [3, 2, 0, 6, 9], [2, 1, 4,5,8], [5, 6, 7, 4, 7]]
i = 0
while i < len[grid]:
j = 0
while j < len[grid[0]]:
print [grid[i][j], end=' ']
j += 1
print[] #new line
i += 1
Đã trả lời ngày 4 tháng 6 năm 2019 lúc 17:39Jun 4, 2019 at 17:39
BikashbikashBikash
Phù hiệu đồng 14266 bronze badges
Nếu số lượng cột giống nhau trong tất cả các danh sách bên trong thì điều này sẽ thích ==
for i in xrange[len[grid[i]]]:
for j in xrange[len[grid[j]]]:
print grid[i][j]
print "\n"
0Và nếu bạn không biết không. của các cột và trong mọi tình huống, điều này sẽ hữu ích ==
for i in xrange[len[grid[i]]]:
for j in xrange[len[grid[j]]]:
print grid[i][j]
print "\n"
1Bạn cũng có thể sử dụng các thứ sau nếu các hàng và cột khác nhau hoặc giống nhau:
for i in xrange[len[grid[i]]]:
for j in xrange[len[grid[j]]]:
print grid[i][j]
print "\n"
2Đã trả lời ngày 23 tháng 1 lúc 14:56Jan 23 at 14:56
1