Python Liste Elemanlarını Yazdırma (7 Farklı Yöntem) – Web Tasarım & Programlama
Herhangi bir programlama dilinin en önemli özelliklerinden biri değişkenleri tanımlama yeteneğidir. Değişkenler, programcının sayılar veya metin dizileri gibi bilgileri saklamasına ve verimli bir şekilde yeniden kullanmasına olanak tanır. Bu, bilgisayarları bu kadar müthiş araçlar yapan şeyin bir parçasıdır; onlara bir sürü bilgi verebiliriz ve onlar bunu hatırlayabilir ve insanlardan çok daha kolay bir şekilde manipüle edebilirler.
Değişkenler gibi Python listeleri de bilgi depolar. Daha spesifik olarak, bilgi dizilerini depolarlar. Bu, günlük hayatta oluşturmuş olduğunuz litelerden farklı değildir. Bir kişi, gün boyunca hatırlamaları için bir dizi yapılacaklar listesini saklamak isterse, bir yapılacaklar listesi yazabilir. Alış veriş listesi diğer örnek olarak verilebilir
Bazı programlama dillerindeki dizi ve liste yapılar hangi veri türlerini tutabilecekleri konusunda katı kurallara sahip olsa da, Python listelerinde bunların hiçbiri yoktur! Bu, onları kullanımı çok basit ve eşit derecede esnek hale getirir. Şimdi listelerin nasıl tanımlanacağına ve içindeki bilgilere nasıl erişileceğine bir göz atacağız.
my_list = [‘makarna’, ‘reçel’, ‘soda’]
my_list = [‘makarna’, ‘reçel’, ‘soda’]
|
Burada, öğeleri olan my_list adında bir liste tanımladım, ancak bir listenin öğeleri aynı zamanda tamsayılar ondalıklı sayılar, diğer listeler veya farklı türlerin karışımı (metinsel ve sayısal) olabilir. Bu listeyi bir bakkal listesindeki ürünleri ve satın almak istediğim miktarları temsil ediyor gibi düşünebilirsiniz.
Bu bilgilerden herhangi birine özel olarak erişmek istersem, liste indeksleme adı verilen bir teknik kullanırdım. Liste indeksleme ile, liste adından sonra köşeli parantez içinde erişmek istenen öğenin (0 ile başlayan) numarası basitçe yazılır. Örneğin, my_list’in birinci ve üçüncü öğelerini yazdırmak istersem aşağıdaki kodu kullanırdım:
print(my_list[0], my_list[2])
print(my_list[0], my_list[2])
|
Ekran Çıktısı:
Python indeksleme 0 ile başladığından birinci ve üçüncü öğeleri temsil etmek için 0 ve 2 indekslerini nasıl kullandığıma dikkat edin.
Bu faydalı bir yöntemdir, ancak bunlardan herhangi birinin normal değişkenlerle çalışmaktan çok bir farkı olmadığını düşünüp nasıl daha verimli olduğunu merak ediyor olabilirsiniz. Sonuçta yukarıdaki örnekte yazdırmak istediğimiz her bir elemanı ayrı ayrı belirtmemiz gerekiyordu.
Sırada, listelerdeki bilgilere çok daha verimli bir şekilde erişmek için Python’un diğer yerleşik özelliklerinden bazılarından nasıl yararlanmaya başlayabileceğinizi göstereceğim.
For Döngüsü ile Python Listesini Yazdırın
Bir listedeki bilgilere erişmenin sık kullanılan yöntemlerinden biri, bir for döngüsü kullanmaktır.
Bakkal listenizdeki ürünleri bir arkadaşınıza satın alma niyetinizi açıklamak istediğinizi hayal edin. “Bakkal listemdeki her ürün için bu ürünü satın almak istiyorum” gibi bir şey söyleyebilirsiniz. Python listemizin içeriğine göre bazı biçimlendirilmiş dizeleri yazdıralım!
Yöntem 1:
my_list = [‘makarna’, ‘reçel’, ‘soda’]
for urun in my_list:
print(f”{urun} satın almak istiyorum.”)
my_list = [‘makarna’, ‘reçel’, ‘soda’] for urun in my_list: print(f“{urun} satın almak istiyorum.”)
|
Yöntem 2:
my_list = [‘makarna’, ‘reçel’, ‘soda’]
for urun in my_list:
print(urun,” satın almak istiyorum.”)
my_list = [‘makarna’, ‘reçel’, ‘soda’] for urun in my_list: print(urun,” satın almak istiyorum.”)
|
Ekran Çıktısı:
Burada, her bir elemanı manuel olarak belirtmek zorunda kalmadan listemin her bir elemanı arasında dolaşabildiğimi görebilirsiniz. Listenizde yalnızca üç yerine 50.000 öğe olsaydı, bunun ne kadar iş tasarrufu sağlayacağını hayal edin!
Ayrıca yerleşik Python range() yöntemiyle birlikte bir for döngüsü kullanarak bir listede dolaşabilirsiniz:
my_list = [‘makarna’, ‘reçel’, ‘soda’]
for urun in range(len(my_list)):
print(f”{my_list[urun]} satın almak istiyorum.”)
my_list = [‘makarna’, ‘reçel’, ‘soda’] for urun in range(len(my_list)): print(f“{my_list[urun]} satın almak istiyorum.”)
|
Buradaki çıktı aynıdır, ancak önceki örnekte olduğu gibi listemizdeki gerçek bir öğeye atıfta bulunan öğe yerine, öğe dizin konumunu belirtir. Öğe tarafından belirtilen konumda öğeye erişmek için tekrar liste indekslemeyi kullanırız.
Şimdi bir yerlere varıyoruz. Umarım Python’un listelerde depolanan bilgi dizilerine erişmek için bazı harika araçlar sağladığını görebilirsiniz. Python listelerini yazdırmanın diğer yollarına bir göz atalım.
Python Listesini Yazdırmak için * Operatörünü Kullanma
Bir listenin tüm içeriğini yazdırmanın başka bir yolu da * operatörünü kullanmaktır.
Aşağıdaki kodu inceleyelim.
my_list = [‘makarna’, ‘reçel’, ‘soda’]
print(*my_list)
my_list = [‘makarna’, ‘reçel’, ‘soda’] print(*my_list)
|
Ekran Çıktısı:
print() Yöntemi ile Listeyi Yazdırma
Bundan daha da kolay bir teknik istiyorsanız, listenin adını print() yöntemine tek başına iletebilirsiniz! Bu durumda çıktının biraz farklı görüneceğini unutmamalısınız.
Ekran Çıktısı:
Bu durumda çıktının biraz ham halini, yani listenin etrafında köşeli parantezler ve her bir öğenin etrafında tırnak işaretleri olduğunu göreceksiniz.
map() Yöntemi ile Liste yazdırma
Bir listenin öğelerini yazdırmanın başka bir yolu da Python’un yerleşik map() fonksiyonunu kullanmaktır. Bu yöntem iki parametre alır. Bir listenin her bir öğesine uygulanacak bir işlev ve bir liste. Burada, öğelerin her birine uygulanacak işlevimiz olarak yazdırmayı (print) ve listemiz olarak my_list‘i ileteceğiz. Ek olarak, map() bir harita nesnesi döndürür, bu nedenle öğelerin düzgün yazdırılması için sonucu bir listeye dönüştürmemiz gerekiyor.
my_list = [‘makarna’, ‘reçel’, ‘soda’]
list(map(print, my_list))
my_list = [‘makarna’, ‘reçel’, ‘soda’] list(map(print, my_list))
|
Ekran Çıktısı:
Join() Yöntemi ile Liste Yazdırma
Python listesini yazdırmanın başka bir kullanışlı yolu da join() yöntemini kullanmaktır. join(), bir dize yöntemidir, yani bir dizede çağrılması gerekir. Bunun ne anlama geldiğini birazdan göreceğiz. Bu yöntemle, hepsi yazdırıldığında listedeki her bir öğenin arasına girecek bir sınırlayıcı belirleyebilirsiniz.
my_list = [‘makarna’, ‘reçel’, ‘soda’]
print(‘ ‘.join(my_list))
print(‘-‘.join(my_list))
print(‘,’.join(my_list))
my_list = [‘makarna’, ‘reçel’, ‘soda’] print(‘ ‘.join(my_list)) print(‘-‘.join(my_list)) print(‘,’.join(my_list))
|
Ekran Çıktısı:
Özel Ayırıcı ile Tek Satırda Liste Yazdırma
Son bölümde bahsettiğim gibi, listemizi özel bir sınırlayıcı veya ayırıcı ile yazdırmak için join() yöntemini de kullanabiliriz. Son örnekteki kodda yapmamız gereken tek değişiklik, join() adını verdiğimiz dizeyi değiştirmektir. İlk örnekte bir boşluk kullandık, ancak herhangi bir metin kullanabilirsiniz! Burada ‘ veya ‘ dizesini kullanacağız (baştaki ve sondaki boşluklara dikkat edin).
my_list = [‘makarna’, ‘reçel’, ‘soda’]
print(‘ veya ‘.join(my_list))
my_list = [‘makarna’, ‘reçel’, ‘soda’] print(‘ veya ‘.join(my_list))
|
Ekran Çıktısı:
Liste öğelerimizi bir boşlukla birleştirmek yerine, onları özel ayırıcımız ‘ veya’ ile birleştirdiğimizi görebilirsiniz. Bu, CSV veya TSV (virgülle ayrılmış veya sekmeyle ayrılmış değer) dosyaları oluşturmak istediğinizde kullanışlıdır. Bunlar, veri bilimi uygulamalarında çok yaygın biçimlerdir. Ayırıcı olarak bir ‘,’ veya ‘t’ belirtmeniz yeterlidir.
Python’da Dikey Liste Nasıl Yazdırılır?
Liste öğelerini dikey olarak yazdırmak istediğiniz bazı gelişmiş kullanım durumları vardır. Tek bir liste ile yapmak kolaydır, ancak daha karmaşık veri yapıları ile o kadar basit değildir.
Aşağıdaki listeyi inceleyin – her biri testteki üç öğrencinin puanını temsil eden üç liste içerir (toplam 3 test).
testSonuc = [[91, 67, 32], [55, 79, 83], [99, 12, 49]]
testSonuc = [[91, 67, 32], [55, 79, 83], [99, 12, 49]]
|
İlk öğrencinin puanlarını almak için aşağıdaki sözdizimi ile öğelere erişebiliriz:
testSonuc[0][0], test_scores[1][0], test_scores[2][0]
testSonuc[0][0], test_scores[1][0], test_scores[2][0]
|
Ancak bunu yazmak sıkıcıdır ve ölçeklenebilir değildir. Bunun yerine, iç içe for döngüsü kullanabiliriz. Birinci For Döngüsü üç listeyi almak için, ikincisi ise tek tek liste öğelerini almak için.
Daha sonra özel bitiş karakteriyle print() yöntemini çağırabilirsiniz.
print() yöntemini ilk döngüyle aynı girinti düzeyinde bir kez daha çağırmayı unutmayın. Aksi takdirde tüm öğeler aynı satıra yazdırılır.
testSonuc = [[91, 67, 32], [55, 79, 83], [99, 12, 49]]
for i in range(len(testSonuc)):
for j in testSonuc:
print(j[i], end=’ ‘)
print()
testSonuc = [[91, 67, 32], [55, 79, 83], [99, 12, 49]] for i in range(len(testSonuc)): for j in testSonuc: print(j[i], end=‘ ‘) print()
|
Ekran Çıktısı: