S=[22, 33, 45.6, 21.6, 51.8]
P=2.45
đây S là một mảngLàm cách nào để nhân các phần tử riêng lẻ của một danh sách với một số?
Làm thế nào tôi sẽ nhân này và nhận được giá trị?
SP=[53.9, 80.85, 111.72, 52.92, 126.91]
S=[22, 33, 45.6, 21.6, 51.8]
P=2.45
đây S là một mảngLàm cách nào để nhân các phần tử riêng lẻ của một danh sách với một số?
Làm thế nào tôi sẽ nhân này và nhận được giá trị?
SP=[53.9, 80.85, 111.72, 52.92, 126.91]
Bạn có thể sử dụng built-in map
chức năng:
result = map(lambda x: x * P, S)
hoặc list comprehensions đó là một chút pythonic hơn:
result = [x * P for x in S]
Cũng giống như một lưu ý, các hoạt động trên mảng, như phép nhân vô hướng được tối ưu hóa cao trong gọn gàng, và nhanh hơn đáng kể so với việc hiểu danh sách. Nó thường được khuyến khích để không xử lý mảng numpy như danh sách python. – JoshAdel
Mẹo hay. Đã không nhận thấy 'numpy' trong thẻ. –
Tôi thấy những hiểu biết đó hoàn toàn không thể hiểu được. –
Trong NumPy nó là khá đơn giản
import numpy as np
P=2.45
S=[22, 33, 45.6, 21.6, 51.8]
SP = P*np.array(S)
Tôi khuyên bạn nên nhìn vào các hướng dẫn NumPy cho một lời giải thích của các khả năng đầy đủ của mảng NumPy của:
Nếu bạn sử dụng numpy.multiply
S = [22, 33, 45.6, 21.6, 51.8]
P = 2.45
multiply(S, P)
Nó mang đến cho bạn kết quả là
array([53.9 , 80.85, 111.72, 52.92, 126.91])
Trong Python S không phải là một mảng, nó là một danh sách. Có một sự khác biệt rất lớn giữa hai loại container. Nếu bạn muốn mảng số, hãy sử dụng numpy. – talonmies
Không, S thậm chí không phải là danh sách – joaquin
@joaquin: Hãy cầu nguyện cho biết 'S' là gì, nếu nó không phải là một danh sách? – talonmies