Nhân bộ Python

Trong bài đăng này, chúng ta sẽ xem cách nhân hai danh sách trong Python. Chúng tôi muốn tìm sản phẩm của các phần tử danh sách tại các vị trí tương ứng

Nói một cách đơn giản, chúng ta phải thực hiện phép nhân từng phần tử. Vậy hãy bắt đầu

 

Nhân hai Danh sách trong Python bằng cách Sử dụng Vòng lặp

Một cách tiếp cận đơn giản là lặp lại cả hai danh sách, tính tích của các giá trị tại cùng một chỉ mục và nối nó vào một danh sách mới. Hãy xem một ví dụ

 

list_one = [3, 4, 5 ,6, 8, 9]
list_two = [4, 5, 1, 0, 6]

product = []
for el1, el2 in zip[list_one, list_two]:
  product.append[el1*el2]
  

print["The product of two lists is: ", product]

 

đầu ra

 

The product of two lists is:  [12, 20, 5, 0, 48]

 

Trong ví dụ trên, chúng tôi lặp qua các danh sách bằng phương thức zip[]. Nó nhận các iterables [danh sách] và trả về một iterator gồm các bộ dữ liệu

Ngoài ra, đảm bảo chạy vòng lặp n lần, trong đó n là độ dài của danh sách nhỏ hơn

Phương thức zip[] giải quyết vấn đề đó vì bạn có thể nhận thấy rằng list_one có sáu mục và list_two có năm, nhưng danh sách sản phẩm chỉ có năm giá trị

 

Nhân hai Danh sách trong Python bằng cách Sử dụng Tính năng Hiểu Danh sách

Chúng ta cũng có thể sử dụng khả năng hiểu danh sách để thực hiện phép nhân thành phần tử. Phương pháp này nên được ưu tiên hơn phương pháp trước vì nó dễ dàng và ngắn gọn hơn. Hãy xem nào

 

list_one = [3, 4, 5 ,6, 8, 9]
list_two = [4, 5, 1, 0, 6]

product = [el1*el2 for el1, el2 in zip[list_one, list_two]] #element-wise multiplication

print["The product of two lists is: ", product]

 

đầu ra

 

The product of two lists is:  [12, 20, 5, 0, 48]

 

Hãy xem, đây là một cách tiếp cận ngắn và đơn giản

 

Nhân hai Danh sách trong Python bằng cách Sử dụng NumPy

Một phương pháp khác là sử dụng thư viện NumPy. Đầu tiên, chúng tôi chuyển đổi cả hai danh sách thành mảng NumPy hoặc ndarrays, tôi. e. , mảng1 và mảng2

Sau đó, chúng tôi nhân hai mảng giống như chúng tôi làm số, tôi. e. , mảng1*mảng2. Cuối cùng, chúng tôi chuyển đổi ndarray thành một danh sách

Tuy nhiên, độ dài của cả hai danh sách cần phải giống nhau. Nếu không, chúng tôi sẽ nhận được một lỗi. Hãy xem nào

 

import numpy as np

list_one = [3, 4, 5 ,6, 8, 9]
list_two = [4, 5, 1, 0, 6,]
n = min[len[list_one], len[list_two]] #get the minimum length

#convert to numpy arrays
arr1 = np.array[list_one]
arr2 = np.array[list_two]

product = arr1[:n]*arr2[:n] #element-wise multiplication

#convert numpy array to list
product = product.tolist[]
print["The product of two lists is: ", product]

 

đầu ra

 

The product of two lists is:  [12, 20, 5, 0, 48]

 

Ở đây, chúng ta lấy độ dài của mảng nhỏ hơn và chỉ nhân số phần tử đó

NumPy là một thư viện mạnh mẽ cho các tính toán khoa học. Nó cung cấp một số phương pháp và công cụ để tạo và làm việc với mảng một cách hiệu quả

Do đó, nếu chúng ta muốn tính tích phần tử của dữ liệu lớn thì sử dụng NumPy sẽ rất hiệu quả

Marcel

này các cậu. Là tôi, Marcel, hay còn gọi là Maschi. Trên MaschiTuts, đó là tất cả về hướng dẫn. Bất kể chủ đề của bài viết là gì, mục tiêu luôn giống nhau. Cung cấp cho các bạn những hướng dẫn chuyên sâu và hữu ích nhất

Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện

Trên mỗi lần lặp, chúng tôi nhân mục danh sách hiện tại với số đã chỉ định và trả về kết quả

Ngoài ra, bạn có thể sử dụng vòng lặp for đơn giản

Nhân từng phần tử trong danh sách với một số bằng vòng lặp for

Để nhân mỗi phần tử trong một danh sách với một số

  1. Khai báo một biến mới lưu danh sách rỗng
  2. Sử dụng vòng lặp for để lặp lại danh sách ban đầu
  3. Trên mỗi lần lặp, nhân mục danh sách hiện tại với số
  4. Nối kết quả vào danh sách mới

my_list = [2, 4, 6]

result = []

for item in my_list:
    result.append[item * 10]

print[result]

Vòng lặp for hoạt động theo cách rất giống với cách hiểu danh sách, nhưng thay vì trực tiếp trả lại các mục trong danh sách, chúng tôi nối chúng vào một danh sách mới

Bạn cũng có thể sử dụng hàm map[] để nhân từng phần tử trong danh sách

Hàm nhận một hàm và một iterable làm đối số và gọi hàm với mỗi mục của iterable

Hàm lambda mà chúng ta đã chuyển đến map được gọi với từng mục trong danh sách, nhân mục đó với 10 và trả về kết quả

Bước cuối cùng là sử dụng lớp list[] để chuyển đổi đối tượng map thành một đối tượng 101

Nếu bạn làm việc với mảng có nhiều mảng, bạn có thể trực tiếp sử dụng toán tử nhân trên mảng để nhân từng phần tử của nó với một số

Nhân một mảng có nhiều mảng với một số sẽ nhân hiệu quả từng phần tử trong mảng với số đã chỉ định

Lưu ý rằng điều này chỉ hoạt động với các mảng có nhiều mảng. Nếu bạn nhân danh sách python với một số, nó sẽ được lặp lại N lần

Nhân một danh sách Python với N trả về một danh sách mới chứa các phần tử của danh sách ban đầu được lặp lại N lần

Nếu bạn cần nhân tất cả các phần tử trong danh sách, hãy sử dụng hàm 102

Nhân tất cả các phần tử trong Danh sách bằng Python

Sử dụng phương pháp 102 để nhân tất cả các phần tử trong một danh sách, e. g. 104. Phương thức 102 tính tích của tất cả các phần tử trong hàm lặp được cung cấp

Đảm bảo nhập mô-đun 106 ở trên cùng

Chúng tôi đã sử dụng phương pháp 107 để nhân tất cả các phần tử trong danh sách

Phương thức tính tích của tất cả các phần tử trong iterable được cung cấp

Phương thức nhận 2 đối số sau

NameDescriptioniterableMột iterable có các phần tử để tính tích củastartGiá trị bắt đầu cho sản phẩm [mặc định là 108]

Nếu iterable trống, giá trị 109 được trả về

Ngoài ra, bạn có thể sử dụng hàm for0

Nhân tất cả các phần tử trong Danh sách bằng cách sử dụng for0

Để nhân tất cả các phần tử trong một danh sách

  1. Truyền hàm lambda và danh sách cho hàm for0
  2. Hàm lambda sẽ lấy bộ tích lũy và giá trị hiện tại và sẽ trả về phép nhân của hai

Hàm nhận 3 tham số sau

NameDescripfunctionMột hàm nhận 2 tham số - giá trị tích lũy và giá trị từ iterable. iterableMỗi phần tử trong iterable sẽ được chuyển thành đối số cho hàm. bộ khởi tạoMột giá trị bộ khởi tạo tùy chọn được đặt trước các mục của phép lặp trong phép tính

Hàm lambda được gọi với giá trị tích lũy và giá trị của lần lặp hiện tại và nhân chúng

Nếu chúng tôi cung cấp một giá trị cho đối số for3, nó sẽ được đặt trước các mục của iterable trong phép tính

Chúng tôi đã thông qua 10 cho đối số trình khởi tạo, vì vậy giá trị của for5 sẽ là 10 trong lần lặp đầu tiên

Giá trị của for5 sẽ được đặt thành phần tử đầu tiên trong iterable nếu chúng ta không chuyển giá trị cho for3

Nếu for9 trống và for3 được cung cấp, thì ______7_______3 được trả lại

Nếu for3 không được cung cấp và iterable chỉ chứa mục 108, thì mục đầu tiên được trả lại

Nhân hai danh sách theo từng phần tử trong Python

Để nhân hai danh sách thành phần tử

  1. Sử dụng hàm for4 để nhận một bộ dữ liệu có thể lặp lại với các mục tương ứng
  2. Sử dụng khả năng hiểu danh sách để lặp lại qua lần lặp
  3. Trên mỗi lần lặp, nhân các giá trị trong bộ dữ liệu hiện tại

Hàm lặp song song qua một số lần lặp và tạo các bộ dữ liệu với một mục từ mỗi lần lặp

Bạn có thể tưởng tượng rằng hàm for5 lặp qua các danh sách, lấy 1 mục từ mỗi danh sách.

Bộ đầu tiên trong danh sách bao gồm các phần tử trong mỗi danh sách có chỉ số là for6, bộ thứ hai bao gồm các phần tử trong mỗi danh sách có chỉ số là 108, v.v.

Bước cuối cùng là sử dụng khả năng hiểu danh sách để lặp lại đối tượng for4 và nhân các giá trị trong mỗi bộ

Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện

Trên mỗi lần lặp lại, chúng tôi giải nén các giá trị từ bộ dữ liệu và sử dụng toán tử nhân for9 để nhân chúng

Bạn cũng có thể sử dụng phương pháp này để nhân nhiều phần tử hơn hai danh sách

Ngoài ra, bạn có thể sử dụng hàm map[]

Để nhân hai danh sách thành phần tử

  1. Sử dụng hàm map[] để gọi hàm for2 với hai danh sách
  2. Sử dụng lớp list[] để chuyển đổi đối tượng map thành một danh sách

Hàm nhận một hàm và một iterable làm đối số và gọi hàm với mỗi mục của iterable

Hàm for5 từ mô-đun for6 giống với hàm for7

Bạn có thể tưởng tượng rằng map gọi hàm for5 với mỗi mục của hai lần lặp [e. g. các mục ở chỉ mục for6, sau đó là 108, v.v.]

Hàm map trả về một đối tượng map, vì vậy chúng ta phải sử dụng lớp list[] để chuyển đổi kết quả thành một danh sách

Tôi có thể nhân danh sách bằng Python không?

Danh sách và chuỗi có nhiều điểm chung. Cả hai đều có trình tự và giống như trăn, chúng dài ra khi bạn cho chúng ăn. Giống như một chuỗi, chúng ta có thể nối và nhân danh sách Python .

* có nghĩa là nhân lên trong Python không?

Giống như phép cộng và phép trừ, phép nhân và phép chia sẽ rất giống với cách thực hiện trong toán học. Ký hiệu chúng ta sẽ sử dụng trong Python để nhân là * và dấu chúng ta sẽ sử dụng để chia là /.

Bạn có thể nhân hai mảng trong Python không?

multiply[] trong Python. numpy. Hàm multiply[] được sử dụng khi chúng ta muốn tính phép nhân của hai mảng . Nó trả về tích của mảng1 và mảng2, theo từng phần tử.

*= nghĩa là gì trong Python?

-= Phép trừ. a -= 5 [Tương tự như a = a - 5] *= Phép nhân .

Chủ Đề