Yêu cầu Oct 4th, 2018 8:33 a.m. 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 Oct 4th, 2018 8:52 a.m.
Đã được chấp nhận
+5

Cách tổng quát:

[[a, b, c, d, e, f, g, k]] * 4
Chia sẻ
Oct 5th, 2018 3:54 a.m.

Good answer (y)

Đã trả lời Oct 4th, 2018 8:48 a.m.
+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 Oct 4th, 2018 8:56 a.m.
+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
Oct 4th, 2018 9:58 a.m.

@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
Oct 4th, 2018 10:06 a.m.

@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í