Yêu cầu thg 10 4, 2018 8:33 SA 120 0 3
  • 120 0 3
+1

Thêm ma trận

Chia sẻ
  • 120 0 3

Tôi có: [a b c d e f g k] tôi muốn thêm như kết quả: [[a b c d e f g k] [a b c d e f g k] [a b c d e f g k] [a b c d e f g k]]

Mong mọi người giúp đỡ.

3 CÂU TRẢ LỜI


Đã trả lời thg 10 4, 2018 8:52 SA
Đã được chấp nhận
+5

Cách tổng quát:

[[a, b, c, d, e, f, g, k]] * 4
Chia sẻ
thg 10 5, 2018 3:54 SA

Good answer (y)

Đã trả lời thg 10 4, 2018 8:48 SA
+2

Bạn có thể nói cụ thể hơn được ko? Chứ nếu chỉ là array bình thường có cấu trúc như kia thì khai báo như này là xong mà:

>>> a = [1, 2, 3, 4]
>>> a
[1, 2, 3, 4]

>>> b = [a, a, a, a]
>>> b
[[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]

Nhưng mình nghĩ chắc là ko phải như mình nghĩ bên trên.

Chia sẻ
Đã trả lời thg 10 4, 2018 8:56 SA
+1
clgt =  [a, b, c, d, e, f, g, k] 
result = [clgt] * 4

Nếu bạn muốn nó là ma trận thì có thể tham khảo cách này:

import numpy
clgt =  [a, b, c, d, e, f, g, k] 
result = numpy.array([clgt] * 4)
Chia sẻ
Avatar Hoang Dinh Thoi @hoangdinhthoi
thg 10 4, 2018 9:58 SA

@ngao Cách của bạn cũng có thể ok. Nhưng về tốc độ thì sẽ chậm. Ở đây chỉ cần duplicate 1 ma trận nhiều lần, nên chỉ cần lặp lại như trong code của mình. Nếu có 1 ma trận 1000 phần tử, muốn lặp 1000 lần thì cách nhân với ma trận [1, ,1 ..., 1] của bạn sẽ chạy rất lâu.

Avatar ngao @ngao
thg 10 4, 2018 10:06 SA

@hoangdinhthoi đồng ý bạn. Khởi tạo luôn một cái ma trận xong thêm từng cái row vào như thế hay hơn.

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí