For döngüsününün farklı kullanımı ve listeler

öncelikle herkese merhaba,

aşağıdaki örnekte, for döngüsünden öncede t kullanılmış.
döngüler konusunda ve liste veri tipi konu anlatımında hiç bir yerde böyle bir ifade görmedim.
ne işe yarıyor tam olarak ?

a = [t for t in range(1,14,2)]
print(a)

# ÇIKTI: [1, 3, 5, 7, 9, 11, 13]

anlaşıldığım şekilde ; range döngüsünde oluşan int değerlerini liste veri tipine çevirerek çıktı oluşturuyor. eğer böyle ise bile tam olarak mantığı nedir ?

farklı bir konu üzerinde mi oluşturmalıyım bilmiyorum ama,
2 tane liste veri tipini nasıl birbiri ile çarpabilirim ?

a=[1,2,3,4,5]
b=[10,11,12,13,14]

son olarakta sadece liste içerisinde integer değerlerini istediğim bir sayi ile çarpmak istiyorum.

o kadar kafam karıştıki bütün bunların çözümünü ararken ya bildiklerimide unutuyorum, yada anlamaya başlıyorum.

Saygılarımla,

Bunlara Liste Üreteçleri deniyor.

1 Beğeni

Listeler birbiri ile çarpılmaz. Tam olarak ne yapmak istiyorsunuz anlamadım, çarpmaktan kastınız ne?

Bir liste içerisindeki bütün int’leri başka bir sayı ile mi çarpmak istiyorsunuz?

İstediğiniz şey listenin indekslerine göre birbirleriyle çarpmak ise bu yöntem size doğru sonuç verir.
a=[1,2,3,4,5]
b=[10,11,12,13,14]

result = list(map(lambda x: x[0]*x[1],zip(a,b)))
print(result)

1 Beğeni

Öncelikle teşekkürler.

aşağıdaki 2 tane liste veri tipini birbiri ile çarpmak istiyorum.

a=[1,2,3,4,5]
b=[10,11,12,13,14]

  • olarak

yine örn :
a=[1,2,3,4,5]
listesinin içindeki int değerşerini 3 ile çarpmak istiyorum.

yani çıktı: a=[3,6,9,12,15] olmasını istiyorum.
tamamen kendim örnek çözerken kendime sorduğum ve çözümünü sabahtan beri bulamadığım sorular :slight_smile:

Bir listenin içindeki değerleri herhangi bir sayıyla çarpmak isterken şu yöntemi de kullanabilirsiniz.

x = 3
b=[10,11,12,13,14]
result = [i*x for i in b]

print(result)
1 Beğeni

Eğer bu karmaşık derseniz şu yöntemi de kullanabilirsiniz.

a = [5,4,3,2,1] 
b=[10,11,12,13,14]

"""
Enumerate fonksiyonu bize 'i' nin listedeki index değerini verir.
Burada enumerate fonksiyonunu kullanarak 'a' listesinden 'i' ile aynı index 
numarasına sahip olan değeri bulup  'i' ile çarptık.
"""
result = [i*a[j] for j,i in enumerate(b)]
 

print(result)
1 Beğeni
a = [1,2,3,4,5]

r = []
for i in a:
    r.append(i * 3)

print(r)
1 Beğeni