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

Thêm ma trận

Chia sẻ
  • 121 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.