Dapatkah Anda mengalikan daftar dengan daftar dengan python?

Jika Anda bekerja dengan Python, ada banyak skenario di mana seseorang harus menemukan produk berdasarkan indeks dari dua daftar. Mari kita lihat bagaimana memperbanyak daftar di Python menggunakan pendekatan yang berbeda

daftar perkalian python

Untuk mengalikan daftar dengan Python, gunakan fungsi zip(). Zip() adalah fungsi Python bawaan yang membuat iterator yang akan menggabungkan elemen dari dua atau lebih iterables

Anda harus meneruskan daftar ke fungsi zip(*iterables) untuk mendapatkan daftar tupel yang memasangkan elemen dengan posisi yang sama dari kedua daftar

listA = [1, 2, 3]
listB = [4, 5, 6]
products = []


for dt1, dt2 in zip(listA, listB):
    products.append(dt1 * dt2)

print(products)

Keluaran

[4, 10, 18]
_

Dalam contoh ini, pertama, kami mendefinisikan dua daftar. Kemudian diteruskan, kedua list ke dalam metode zip() untuk mendapatkan daftar tupel yang memasangkan elemen dengan posisi yang sama dari kedua list

Gunakan perulangan for untuk mengalikan elemen-elemen ini dan menambahkannya ke daftar baru

Menggunakan pemahaman daftar untuk memperbanyak daftar

Pemahaman daftar memungkinkan sintaks yang lebih singkat saat Anda ingin membuat daftar baru berdasarkan nilai dari daftar yang sudah ada. Tanpa pemahaman daftar, Anda harus menulis perulangan for dengan pengujian bersyarat di dalamnya, seperti yang kita lihat pada contoh bagian di atas

Anda dapat menggunakan pemahaman daftar untuk mengalikan daftar dengan Python. Pertama, inisialisasi nilai produk menjadi 1 (bukan 0 sebagai 0 dikalikan dengan apa pun yang mengembalikan nol). Kemudian, telusuri ke akhir daftar, dan kalikan setiap angka dengan hasilnya

Mengalikan dua daftar di python bisa menjadi kebutuhan dalam banyak perhitungan analisis data. Pada artikel ini kita akan melihat bagaimana mengalikan elemen dari daftar list yang juga disebut nested list dengan list lainnya

Menggunakan Loop

Dalam pendekatan ini kami merancang derek untuk loop, satu di dalam yang lain. Loop luar melacak jumlah elemen dalam daftar dan loop dalam melacak setiap elemen di dalam daftar bersarang. Kami menggunakan operator * untuk mengalikan elemen dari daftar kedua dengan masing-masing elemen dari daftar bersarang

Contoh

Demo Langsung

listA = [[2, 11, 5], [3, 2, 8], [11, 9, 8]]

multipliers = [5, 11, 0]

# Original list
print("The given list: " ,listA)

# Multiplier list
print(" Multiplier list : " ,multipliers )

# using loops
res = [[] for idx in range(len(listA))]
   for i in range(len(listA)):
      for j in range(len(multipliers)):
         res[i] += [multipliers[i] * listA[i][j]]

#Result
print("Result of multiplication : ",res)

Keluaran

Menjalankan kode di atas memberi kita hasil berikut -

The given list: [[2, 11, 5], [3, 2, 8], [11, 9, 8]]
Multiplier list : [5, 11, 0]
Result of multiplication : [[10, 55, 25], [33, 22, 88], [0, 0, 0]]

Dengan menghitung

Metode enumerate dapat digunakan untuk mengambil setiap elemen dari daftar bersarang dan kemudian for loop dapat digunakan untuk melakukan perkalian

Tutorial ini akan mendemonstrasikan berbagai metode untuk melakukan perkalian berdasarkan elemen dari dua daftar dengan Python. Misalkan kita memiliki dua daftar bilangan bulat dengan dimensi yang sama dan kami ingin mengalikan elemen dari daftar pertama dengan elemen pada posisi yang sama di daftar kedua dan mendapatkan daftar resultan dengan dimensi yang sama

Kalikan Dua Daftar dengan Python Menggunakan Metode list1 = [[2,4,5],[3,5,4]] list2 = [[4,1,2],[9,7,5]] product = [[0]*3]*2 for x in range(len(list1)): product[x] = [a*b for a,b in zip(list1[x],list2[x])] print(product) 0

Metode

list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
0 bawaan di Python mengambil satu atau lebih iterables dan menggabungkan iterables menjadi sebuah tuple. Seperti daftar
list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
2 dan
list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
3 akan menjadi
list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
4. Menggunakan metode
list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
_5, kami mengakses kedua daftar berdasarkan elemen dan mendapatkan daftar yang diperlukan menggunakan metode pemahaman daftar

Contoh kode di bawah ini menunjukkan cara membuat beberapa daftar 1D dan 2D menggunakan

list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
0 dengan pemahaman daftar

list1 = [2,4,5,3,5,4]
list2 = [4,1,2,9,7,5]
product = [x*y for x,y in zip(list1,list2)]
print(product)

Keluaran

Perkalian Daftar 2D

list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
_

Keluaran

[[8, 4, 10], [27, 35, 20]]

Mengalikan Dua Daftar dengan Python Menggunakan Metode list1 = [[2,4,5],[3,5,4]] list2 = [[4,1,2],[9,7,5]] product = [[0]*3]*2 for x in range(len(list1)): product[x] = [a*b for a,b in zip(list1[x],list2[x])] print(product) 7

Metode

list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
8 dari pustaka
list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
9 dengan Python, mengambil dua larik/daftar sebagai input dan mengembalikan larik/daftar setelah melakukan perkalian berdasarkan elemen. Metode ini sangat mudah, karena kita tidak perlu melakukan pekerjaan ekstra apa pun untuk perkalian 2D, tetapi poin negatif dari metode ini adalah metode ini tidak dapat digunakan tanpa pustaka
list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
9

Contoh kode di bawah ini menunjukkan cara mengalikan daftar 1D dan 2D dengan Python menggunakan metode

list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
7

import numpy as np

list1 = [12,3,1,2,3,1]
list2 = [13,2,3,5,3,4] 

product = np.multiply(list1,list2)
print(product)

Keluaran

[156   6   3  10   9   4]

import numpy as np

list1 = [[12,3,1],[2,3,1]]
list2 = [[13,2,3],[5,3,4]] 

product = np.multiply(list1,list2)
print(product)

Keluaran

[[156   6   3]
 [ 10   9   4]]

Mengalikan Dua Daftar dengan Python Menggunakan Fungsi list1 = [[2,4,5],[3,5,4]] list2 = [[4,1,2],[9,7,5]] product = [[0]*3]*2 for x in range(len(list1)): product[x] = [a*b for a,b in zip(list1[x],list2[x])] print(product) 5

Fungsi

[[8, 4, 10], [27, 35, 20]]
_3 mengambil fungsi dan satu atau lebih iterable sebagai input dan mengembalikan iterable dengan menerapkan fungsi yang disediakan pada daftar input

Kita dapat melakukan perkalian elemen-bijaksana 1D dan 2D dari dua daftar dengan Python menggunakan fungsi

list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
5 dengan meneruskan kedua daftar sebagai argumen ke fungsi
list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
5. Contoh kode di bawah ini menunjukkan bagaimana kita dapat menggunakan
list1 = [[2,4,5],[3,5,4]]
list2 = [[4,1,2],[9,7,5]]
product = [[0]*3]*2 

for x in range(len(list1)):
    product[x] = [a*b for a,b in zip(list1[x],list2[x])]

print(product)
5 untuk mengalikan dua daftar Python

Bisakah Anda mengalikan daftar bersama dengan Python?

Seperti sebuah string, kita dapat menggabungkan dan mengalikan daftar Python .

Bagaimana Anda menyilangkan dua daftar dengan Python?

Ini adalah metode paling mudah untuk melakukan tugas ini. Dalam hal ini, kami mengulang kedua daftar dan melakukan penggandaan setiap elemen dengan yang lain dan menyimpan hasilnya dalam daftar baru . Ini adalah cara lain di mana tugas ini dapat dilakukan. Dalam hal ini, kami melakukan tugas perkalian menggunakan product().

Bisakah Anda mengalikan daftar dengan pelampung di Python?

Seperti yang diberitahukan oleh pesan kesalahan, Anda tidak dapat melakukan perkalian antara string (atau urutan) dan angka floating point (atau float), as Python doesn't support that operation between those two data types.