Mảng 2 Chiều - Python Dainganxanh
Có thể bạn quan tâm
Cho file mang2.in như sau:
Copy4 5 11 8 88 6 20 3 80 60 30 5 99 123 42 7 20 10 55 4 33 2020Trong đó: Dòng thứ nhất là 2 số nguyên dương m, n cách nhau bở một khoảng trắng. n dòng tiếp theo, mỗi dòng gồm m số nguyên cách nhau bởi một khoảng trắng tạo thành mảng ma có m cột, n dòng.
(mảng ma gồm 4 cột 5 dòng)
Yêu cầu:
a. Đọc dữ liệu từ file mang2.in và in ra màn hình mảng ma.
b. Tính tổng đường chéo của mảng gồm m dòng đầu tiên của mảng ma. (tong = 11+3+99+10 = 123)
Bài làm
Copywithopen('mang2.IN')as fi: m,n =list(map(int,fi.readline().split())) ma = [] for i inrange(n): ma.append(list(map(int,fi.readline().split()))) ## Câu a for a in ma: print(a) ## Câu b tong =0 for i inrange(m): for j inrange(m): if i == j: tong += ma[i][j] print(tong)Giải thích:
Đọc dữ liệu vào
m,n = list(map(int,fi.readline().split()))
Lệnh này sử dụng phương thức .split() để tách xâu bởi các khoảng trắng tạo thành list. Như vậy, với dòng đầu của file mang2.in là 4 5 ta dùng lệnh fi.readline().split()) và thu được dữ liệu vào là ['4', '5'].
Nếu ta dùng m,n = fi.readline().split() thì m được gán bằng '4' và n được gán bằng '5'. Lúc này m,n có kiểu dữ liệu là string.
Để chuyển dữ liệu từ string sang int ta có thể ép kiểu cho từng biến. Tuy nhiên như thế sẽ làm cho code dài và khó đọc. Trong bài này ta chuyển dữ liệu string sang int bằng hàm map(). m,n = list(map(int,fi.readline().split()))
Để dễ hiểu hơn ta xét ví dụ sau:
Copys ='1 2 3' # Tách xâu s thành list a ma = s.split() # in mảng a ta có: ['1', '2', '3']. #(lúc này các phần tử là string) print(ma) # Chuyển các phần tử của mảng a thành kiểu int ma =list(map(int,ma)) # in mảng a ta có: [1, 2, 3] print(ma)Đọc thêm về hàm map() tại đây
Xem thêm ví dụ ép kiểu bằng map() tại đây
Còn tiếp...
Từ khóa » Duyệt Mảng 2 Chiều Python
-
Mảng 2 Chiều Trong Python - Học Tin Cùng Thủ Khoa
-
Tập Hợp List Lồng Nhau, Ma Trận Và Mảng Nhiều Chiều - TEK4
-
Bài 11: Duyệt Mảng - Numpy Trong Python
-
Ma Trận Trong Python
-
Cách Xác định Mảng Hai Chiều Trong Python? - HelpEx
-
[NumPy Library-2] Mảng N-chiều Trong NumPy - Viblo
-
Ma Trận Trong Python Và Một Số Thao Tác Trong Ma Trận Python - T3H
-
1. Duyệt Mảng Numpy Bằng Np.nditer() - Lập Trình Từ Đầu
-
Viết Hàm Trả Về Danh Sách Hai Chiều Chuyển Vị. (Tham Số Là Danh ...
-
Mảng Trong Python - Techacademy
-
Mảng Là Gì? Cách Sử Dụng Mảng Trong Python - Blog
-
Kiểu List (mảng) Trong Python - Freetuts
-
2D Array Trong Python: Ví Dụ Về Danh Sách Hai Chiều
-
FundaML 2: Làm Việc Với Ma Trận - Machine Learning Cơ Bản