Pythonda Listeler Nasıl Çarpılır: 7 Hızlı Yol

Python'da listeleri çoğaltmak, matematiksel hesaplamalar yaparken veya veri işlemedeki sorunları çözerken yaygın olarak kullanılan bir işlemdir. Gereksinimlerinize ve sahip olduğunuz kitaplıklara bağlı olarak bu görevi gerçekleştirmenin birden çok yolu vardır.

Python'da listeleri çoğaltmak için for döngüleri, liste kavrama, zip ve harita işlevlerini veya yerleşik functools modülünü kullanabilirsiniz. NumPy gibi harici bir Python kitaplığındaki işlevleri de kullanabilirsiniz.

Bu makale size, her biri bir kod örneği ve açıklanan sonuçlarla listeleri çoğaltmanın birçok farklı yolunu gösterecek.

Başlayalım!

İçindekiler

Python'da 2 Tür Sayısal Liste Çarpımı

Belirli yöntemlere dalmadan önce, elde ettikleri liste çoğaltma türünü anlamalısınız.

Python'un, geniş liste çarpma terimi altında yer alan birkaç farklı konsepti vardır. Bu, listelerin çoğaltılmasını veya bir liste içindeki öğelerin Kartezyen Ürününün elde edilmesini içerir.

Bu makale bunun yerine bir listedeki öğelerin iki tür aritmetik çarpımına odaklanmaktadır:

  1. değere göre çarpma

  2. Öğe bazında Çarpma

Bu iki kavramı kısaca inceleyelim.

1. Değere Göre Çarpma

Bir tam sayı listeniz olduğunda, her bir öğeyi belirli bir değerle çarpmak isteyebilirsiniz. Örneğin, [1, 2, 3] listeniz var ve her elemanı 3 değeriyle çarpmak istiyorsunuz.

Çarpma işlecini bu kod parçasındaki gibi kullanmayı (yanlış bir şekilde) deneyebilirsiniz:

list1 = [1, 2, 3]
result = list1 * 3

Sonucun [1, 2, 3, 1, 2, 3, 1, 2, 3] olmasına şaşırabilirsiniz. Bu, liste çoğaltma olarak bilinir .

2. Element-Wise Liste Çarpımı

İki listeniz olduğunu varsayalım: [1, 2, 3] ve [4, 5, 6]

Sonuç olarak [4, 10, 18] elde etmek için listedeki aynı dizindeki öğeleri çarpmak istiyorsunuz.

'*' işlecini kullanarak iki Python listesini çarpmaya çalışırsanız , bir hata alırsınız:

TypeError: dizi, 'liste' türü olmayan int ile çarpılamaz

Bunun nedeni, çarpma işlecinin listelerle tamsayılar veya kayan sayılarla olduğu gibi çalışmak üzere tasarlanmamasıdır. Bunun yerine, listeleri çarpmak, eleman bazında çarpma olarak bilinen bir işlemi gerektirir.

Öğe bazında çarpma, iki listeden karşılık gelen öğeleri eşleştirir ve bunları birlikte çarparak yeni bir liste oluşturur.

Artık bu iki kavramı anladığınıza göre. Doğru sonuçları elde etmek için bir dizi teknik üzerinde çalışalım.

Python'da Birden Çok Liste Elemanına For Döngüsü Nasıl Kullanılır

Python'da Listeler Nasıl Çarpılır: 7 Hızlı Yol

Liste öğelerini bir değerle çarpmak istediğinizi varsayalım . Bu yaklaşım için, bir for döngüsü ile öğeleri yineleyebilir ve her birini ikinci bir değerle çarpabilirsiniz.

İşte tek listeli bir örnek. Sonuç değişkeni çıktı listesini tutar.

list1 = [1, 2, 3, 4]
factor = 3
result = []

for element in list1:
    result.append(element * factor)

Bu durumda sonuç listesi [3, 6, 9, 12] olacaktır.

Çarpma için Liste Kavramaları Nasıl Kullanılır?

Liste kavrayışları, liste çarpımlarının sayısal türünü gerçekleştirmek için özlü bir yol sağlar. Bir for döngüsü kullanmakla aynı sonucu elde edersiniz , ancak daha kompakt bir söz dizimi ile.

İşte liste kavrayışını kullanan önceki örnek:

list1 = [1, 2, 3, 4]
factor = 3
result = [element * factor for element in list1]

Bu kod, öncekiyle aynı çıktıyı verir: [3, 6, 9, 12].

Element-Wise Çarpma için Zip İşlevini Kullanma

Python'da Listeler Nasıl Çarpılır: 7 Hızlı Yol

İki tam sayı listeniz varsa, listeleri öğe bazında çarpmak isteyebilirsiniz. Bu, ilk listedeki ilk öğeyi ikinci listedeki ilk öğeyle çarptığınız ve aynı konumdaki öğelerle bu şekilde devam ettiğiniz anlamına gelir.

Zip () işlevi, onu liste kavrayışıyla birleştirdiğinizde bunu başarabilir.

İşlev, iki giriş listesinin öğelerini birleştirerek bunlar üzerinde paralel olarak geçiş yapmanızı sağlar. İşte aynı boyuttaki listelerin kullanıldığı bir örnek:

list1 = [1, 2, 3, 4]
list2 = [2, 3, 4, 5]
result = [a * b for a, b in zip(list1, list2)]

Bu durumda, sonuç değişkeni sonuç listesini tutacaktır: [4, 10, 18].

Demetler ve Oluşturucularla Çalışma

Bazen, basit tamsayılar yerine demetler içeren listelerle çalışmak zorunda kalabilirsiniz.

İki demet listesini çarpmak için aşağıdakilerin bir kombinasyonunu kullanabilirsiniz:

  • zip() işlevi

  • tuple yapıcıları

  • anlamaları listelemek

İşte bir örnek:

list1 = [(1, 2), (3, 4)]
list2 = [(5, 6), (7, 8)]

result = [tuple(a * b for a, b in zip(t1, t2)) for t1, t2 in zip(list1, list2)]

Sonuç: [(5, 12), (21, 32)].

Python'da Harita ve Lambda İşlevi Nasıl Kullanılır?

Python'da Listeler Nasıl Çarpılır: 7 Hızlı Yol

Python'daki harita işlevi, bir liste gibi yinelenebilir bir listedeki her öğeye bir işlev uygulamanın uygun bir yoludur.

Python'daki bir lambda işlevi, küçük bir anonim işlevdir. Bu, adı olmayan bir işlev olduğu anlamına gelir.

İki listeyi element bazında çarpmak için map ve lambda fonksiyonlarını birleştirebilirsiniz:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x * y, list1, list2))

Sonuç değişkeni çoğaltılmış listeleri tutacaktır: [4, 10, 18].

Python'da Operatör Modülü Nasıl Kullanılır?

Operatör modülü, farklı veri yapıları ve türleri ile çalışmak için çok sayıda yararlı işlev sağlar.

operator.mul () işlevi, onu harita işleviyle birleştirdiğinizde tamsayı listelerini çarpmak için kullanılabilir.

import operator

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = list(map(operator.mul, list1, list2))

Bu örnekte, operatör modülünü içe aktarırsınız ve iki listenin her bir öğesini çarpmak için Python'un yerleşik map() işleviyle birlikte mul() işlevini kullanırsınız.

Sonuç değişkeni çoğaltılmış listeleri tutacaktır: [4, 10, 18].

NumPy Kitaplığı: Dizi ve Çarpma İşlevleri

Python'da Listeler Nasıl Çarpılır: 7 Hızlı Yol

NumPy kitaplığı, sayısal hesaplama ve dizilerle çalışma için yaygın olarak kullanılan, Python'da güçlü bir harici kitaplıktır. Bu kitaplık özellikle büyük diziler veya çok boyutlu dizilerle uğraşırken etkilidir.

NumPy'yi kullanmak için pip kullanarak kurabilirsiniz:

pip install numpy

NumPy kullanarak iki listede öğe bazında çarpma gerçekleştirmek için şu genel adımları izleyin:

  1. numpy.array() kullanarak her listeyi bir NumPy dizisine dönüştürün .

  2. NumPy çarpma işlevini kullanarak çarpma işlemini gerçekleştirin.

  3. İsteğe bağlı olarak, tolist() yöntemini kullanarak sonucu tekrar bir Python listesine dönüştürün

İşte bir kod örneği:

import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]
arr1 = np.array(list1)
arr2 = np.array(list2)

res_arr = np.multiply(arr1, arr2)
result = res_arr.tolist()

Bu, önceki örneklerdekiyle aynı sonucu döndürür: [4, 10, 18].

Python'da Functools ve NumPy Nasıl Birleştirilir

functools kitaplığı, belirli bir işlevi bir listedeki öğelere kümülatif olarak uygulayan ve listeyi tek bir değere indirgeyen bir azaltma işlevi içerir .

reduce() işlevini kullanarak iki listeyi çarpmak için NumPy kitaplığından çarpma işleviyle birleştirebilirsiniz.

İşte bir örnek:

from functools import reduce
import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = reduce(np.multiply, [list1, list2])

Bu kod, gerekli kitaplıkları içe aktarır ve iki listenin eleman bazında çarpımını gerçekleştirmek için numpy.multiply() ile birlikte reduce() işlevini kullanır.

Python'da Listeler ve Diğer Veri Yapılarıyla Çalışmak

Veri analitiğinin çoğu yönü, listeler, kümeler ve diğer veri yapılarıyla çalışmayı gerektirir. Örneğin, enterpolasyon ile eksik verileri işlerken bilginizi kullanacaksınız.

Bazı gelişmiş teknikler için bu videoyu izleyin:

Son düşünceler

Python'da listeleri aritmetik olarak çarpmanın çeşitli yöntemlerini öğrendiniz. Bazıları yalnızca yerleşik modülleri ve işlevleri kullanırken diğerleri üçüncü taraf kitaplıklarına güvenir.

Öğe bazında çarpma gerçekleştirme yeteneği, sayısız uygulamaya kapı açar. Veri analizinden makine öğrenimine kadar bu işlemler, birçok algoritmanın ve hesaplama görevinin önemli bir parçasıdır.

Bu makale çarpma işlemine odaklanırken, öğrendiğiniz kavramlar diğer işlemleri de kapsıyor. Öğe bazında toplama, çıkarma ve bölme de hemen hemen aynı şekilde gerçekleştirilebilir.

Unutmayın, bu kavramları sağlamlaştırmanın en iyi yolu onları uygulamaktır — öyleyse devam edin, Python ortamınızı çalıştırın ve denemeye başlayın. İster görevleri otomatikleştirin, ister verileri manipüle edin veya karmaşık yazılımlar oluşturun, bu teknikler şüphesiz işinize yarayacaktır.

Mutlu Pythoning!

Leave a Comment

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Python'da Self Nedir: Gerçek Dünyadan Örnekler

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.

LuckyTemplatesda İçeriği Filtrelemeye Giriş

LuckyTemplatesda İçeriği Filtrelemeye Giriş

Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.