Hướng dẫn python multiply 2d list by scalar - python nhân danh sách 2d với vô hướng

2

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

M là ma trận 2D, một cái gì đó như:

[[1,2,3],[3,4,5],[6,7,1]]

[[5, 10, 15], [15, 20, 25], [30, 35, 5]]
0 không hoạt động. Nó lặp lại các mục trong mỗi hàng 5 mục. Tôi muốn mọi mục được nhân lên với vô hướng 5.

Không muốn sử dụng Numpy. Làm cách nào để giải quyết điều này bằng cách sử dụng toàn bộ danh sách? Cảm ơn bạn!

Hướng dẫn python multiply 2d list by scalar - python nhân danh sách 2d với vô hướng

Gilch

10.1k1 Huy hiệu vàng21 Huy hiệu bạc28 Huy hiệu đồng1 gold badge21 silver badges28 bronze badges

Đã hỏi ngày 23 tháng 1 năm 2019 lúc 2:41Jan 23, 2019 at 2:41

Hướng dẫn python multiply 2d list by scalar - python nhân danh sách 2d với vô hướng

a = [[1,2,3],[3,4,5],[6,7,1]]
print([[j*5 for j in i] for i in a])

output:

[[5, 10, 15], [15, 20, 25], [30, 35, 5]]

Đã trả lời ngày 23 tháng 1 năm 2019 lúc 2:44Jan 23, 2019 at 2:44

Tôi thấy bạn yêu cầu hiểu danh sách, nhưng chỉ để hiển thị tùy chọn với

[[5, 10, 15], [15, 20, 25], [30, 35, 5]]
1:

import numpy as np

v = [[1,2,3],[3,4,5],[6,7,1]]
vv = np.array(v)

print(vv*5)
# [[ 5 10 15]
#  [15 20 25]
#  [30 35  5]]

Đã trả lời ngày 23 tháng 1 năm 2019 lúc 11:46Jan 23, 2019 at 11:46

Hướng dẫn python multiply 2d list by scalar - python nhân danh sách 2d với vô hướng

IgianigianiGian

10,7k3 Huy hiệu vàng19 Huy hiệu bạc34 Huy hiệu đồng3 gold badges19 silver badges34 bronze badges

1

Danh sách Python luôn luôn là một chiều. "Ma trận" của bạn chỉ là danh sách ba danh sách, không phải là danh sách 2D. Do đó, danh sách bên ngoài của bạn cần hiểu để tạo danh sách như các yếu tố của nó.

[[i*5 for i in row] for row in m]

Nó giúp nghĩ về các toàn bộ danh sách như cho các vòng lặp với bộ tích lũy, tức là

output = []
for row in m:
    output.append([i*5 for i in row])

Đã trả lời ngày 23 tháng 1 năm 2019 lúc 2:44Jan 23, 2019 at 2:44

Hướng dẫn python multiply 2d list by scalar - python nhân danh sách 2d với vô hướng

Tôi thấy bạn yêu cầu hiểu danh sách, nhưng chỉ để hiển thị tùy chọn với

[[5, 10, 15], [15, 20, 25], [30, 35, 5]]
1:gilch

10.1k1 Huy hiệu vàng21 Huy hiệu bạc28 Huy hiệu đồng1 gold badge21 silver badges28 bronze badges

0

1._

a = [
   [1, 2, 3],
   [3, 4, 5],
   [6, 7, 1]
]
print([
   [j * 5
      for j in i
   ]
   for i in a
])

output:

[
   [5, 10, 15],
   [15, 20, 25],
   [30, 35, 5]
]

Tôi thấy bạn yêu cầu hiểu danh sách, nhưng chỉ để hiển thị tùy chọn với

[[5, 10, 15], [15, 20, 25], [30, 35, 5]]
1:

import numpy as np

v = [
   [1, 2, 3],
   [3, 4, 5],
   [6, 7, 1]
]
vv = np.array(v)

print(vv * 5)
#[[5 10 15] #[15 20 25] #[30 35 5]]

Danh sách Python luôn luôn là một chiều. "Ma trận" của bạn chỉ là danh sách ba danh sách, không phải là danh sách 2D. Do đó, danh sách bên ngoài của bạn cần hiểu để tạo danh sách như các yếu tố của nó.

[
   [i * 5
      for i in row
   ]
   for row in m
]

Nó giúp nghĩ về các toàn bộ danh sách như cho các vòng lặp với bộ tích lũy, tức là

a = [[1,2,3],[3,4,5],[6,7,1]]
print([[j*5 for j in i] for i in a])
0


Gợi ý: 2

Cập nhật lần cuối: 09 tháng 7, 2022

1._

a = [[1,2,3],[3,4,5],[6,7,1]]
print([[j*5 for j in i] for i in a])
1


Gợi ý: 3

Phương thức numpy.multiply () trả về sản phẩm của hai mảng đầu vào, phần tử khôn ngoan., Lưu ý: Một mảng hai chiều (2D) có thể được tạo bằng danh sách các danh sách trong Python. Trả về sản phẩm của phần tử mảng ARR1 và ARR2 theo phần tử., Mã sau đây cho thấy cách nhân các mảng hai chiều (2D) bằng phương thức Numpy.Multipy ().

Cú pháp

a = [[1,2,3],[3,4,5],[6,7,1]]
print([[j*5 for j in i] for i in a])
2

a = [[1,2,3],[3,4,5],[6,7,1]]
print([[j*5 for j in i] for i in a])
3


Gợi ý: 4

Trong Python, chúng ta có thể thực hiện một ma trận dưới dạng danh sách lồng nhau (danh sách bên trong danh sách)., Nếu x là ma trận n x m và y là ma trận m x l thì xy được xác định và có kích thước n x l (nhưng yx không được xác định). Dưới đây là một vài cách để thực hiện phép nhân ma trận trong Python., Chúng ta có thể coi từng phần tử như một hàng của ma trận., Kỹ thuật này rất đơn giản nhưng đắt tiền về mặt tính toán khi chúng ta tăng thứ tự của ma trận.

Mã nguồn: phép nhân ma trận bằng cách sử dụng vòng lặp lồng nhau

a = [[1,2,3],[3,4,5],[6,7,1]]
print([[j*5 for j in i] for i in a])
4

Đầu ra

a = [[1,2,3],[3,4,5],[6,7,1]]
print([[j*5 for j in i] for i in a])
5

Mã nguồn: phép nhân ma trận bằng cách sử dụng danh sách lồng nhau hiểu biết

a = [[1,2,3],[3,4,5],[6,7,1]]
print([[j*5 for j in i] for i in a])
6


Gợi ý: 5

Phương pháp đầu tiên để nhân mảng numpy là việc sử dụng toán tử ‘ * *. Nó sẽ nhân trực tiếp tất cả các phần tử của mảng numpy cho dù đó là một mảng một chiều hay đa chiều., Phương pháp thứ hai để nhân numpy với vô hướng là việc sử dụng phương thức numpy.multiply (). Nó chấp nhận hai đối số một là mảng đầu vào và cái còn lại là vô hướng hoặc một mảng numpy khác., Numpy là gói Python tốt nhất để tạo ra một mảng numpy. Nó cho phép bạn thực hiện các tính toán toán học phức tạp một cách hiệu quả. Trong toàn bộ hướng dẫn này, bạn sẽ học cách nhân mảng numpy với vô hướng trong Python bằng các phương pháp khác nhau., Trong phần này, bạn sẽ biết tất cả các phương pháp để tạo và nhân mảng numpy với vô hướng. Tất cả các phần trình diễn mã hóa được thực hiện trên sổ ghi chép Jupyter. Vì vậy, tôi sẽ khuyên bạn nên làm điều tương tự để hiểu rõ hơn.

1._

a = [[1,2,3],[3,4,5],[6,7,1]]
print([[j*5 for j in i] for i in a])
7

2._

a = [[1,2,3],[3,4,5],[6,7,1]]
print([[j*5 for j in i] for i in a])
8

Mảng 1d numpy

a = [[1,2,3],[3,4,5],[6,7,1]]
print([[j*5 for j in i] for i in a])
9


Làm thế nào để bạn nhân một danh sách với một vô hướng trong Python?

Để nhân mảng với vô hướng trong python, bạn có thể sử dụng phương thức np.multiply ().use np. multiply() method.

Làm thế nào để bạn nhân danh sách 2D trong Python?

Nhân hai danh sách trong python bằng phương thức numpy.multiply ().Phương thức nhân () của thư viện Numpy trong Python, lấy hai mảng/danh sách làm đầu vào và trả về một mảng/danh sách sau khi thực hiện phép nhân phần tử.Using the numpy. multiply() Method. The multiply() method of the NumPy library in Python, takes two arrays/lists as input and returns an array/list after performing element-wise multiplication.

Bạn có thể nhân một mảng numpy với vô hướng không?

Bạn có thể nhân các mảng numpy với vô hướng và nó chỉ hoạt động.Đây cũng là một hoạt động rất nhanh và hiệu quả. and it just works. This is also a very fast and efficient operation.

Làm thế nào để bạn nhân từng phần tử của một danh sách với một số trong Python?

Sử dụng cú pháp [Phần tử * số cho phần tử trong danh sách] để nhân từng phần tử trong danh sách theo số ...
a_list = [1, 2, 3].
nhân_list = [phần tử * 2 cho phần tử trong a_list].
print(multiplied_list).