Mọi người cho e hỏi làm sao để nhập được mảng như thế này trong python ạ ???
Làm sao để nhập mảng trên 1 dòng?
Mình đang hiểu là bạn đang cần input 1 ma trận vào 1 mảng, bạn thử cách này xem:
for i in range (0,m):
matrix[i] = columns
Mã này thực sự làm cho mọi hàng trong ma trận của bạn tham chiếu đến cùng một đối tượng cột. Nếu bất kỳ mục nào trong bất kỳ cột nào thay đổi - mọi cột khác sẽ thay đổi:
>>> for i in range (0,m):
... matrix[i] = columns
...
>>> matrix
[[0, 0, 0], [0, 0, 0]]
>>> matrix[1][1] = 2
>>> matrix
[[0, 2, 0], [0, 2, 0]]
Bạn có thể khởi tạo ma trận của mình trong một vòng lặp lồng nhau, như sau:
matrix = []
for i in range(0,m):
matrix.append([])
for j in range(0,n):
matrix[i].append(0)
hoặc, trong một lớp lót bằng cách sử dụng khả năng hiểu danh sách:
matrix = [[0 for j in range(n)] for i in range(m)]
hoặc:
ma trận = [x [:] cho x trong [[0] * n] * m]
Hy vọng mình sẽ giúp được bạn.
2 Likes
Nhìn input thì thấy giống với input mẫu trong link.
Input cơ bản nhất là sys.stdin.readline
luôn trả về chuỗi. Đầu tiên tách input ra bằng split
rồi chuyển nó thành số. Sau đó áp dụng tuple packing hay list comprehension (bài này dùng tuple).
3 Likes