Python birleştirme listeleri

Python işlevleri ve meth

Listeler diğer listelerle birleştirilebilir. Bu, bir listenin içeriğini başka bir listeye ekleyebileceğiniz anlamına gelir. Tamsayılar gibi diğer veri türlerine sahip değerler bir listeyle birleştirilemez.

Bir tamsayıyı bir listede birleştirmeye çalışırsanız, Python yorumlayıcısı bir “TypeError: yalnızca bitiştirebilir listelemek için “int” değil)” error.

Bu kılavuzda, bu hatanın ne anlama geldiği ve nasıl çalıştığı hakkında konuşuyoruz. Kodunuzda bu sorunu çözerken gezinmenize yardımcı olacak bir örnek üzerinden ilerliyoruz.




TypeError: yalnızca listeyi (“int” değil) listelemek için birleştirebilir

Birleştirme, işlemi kolaylaştırır iki listeyi birlikte ekleyin. Bir listeyi başka bir listeye eklemek için extend() yöntemini kullanabilseniz de, birleştirme yalnızca bir sembolün kullanılmasını gerektirir: artı işareti ( +).

Birleştirilebilecek tek nesne listeler değildir. Sözlük veya tanımlama grubu gibi yinelenebilir herhangi bir nesne birleştirilebilir.

Farklı veri türlerinden iki nesne birleştirilemez. Bu, bir listeyi bir sözlükle veya bir tamsayıyı bir listeyle birleştiremeyeceğiniz anlamına gelir.

“TypeError: listeyi yalnızca listelemek için (“int” değil) birleştirebilir” bir listeye tek bir tamsayı öğesi eklemek için birleştirme kullanırsanız.




Örnek Senaryo

Belirli sandviçler için kaç sipariş verildiğini izleyen bir program oluşturacağız. Cuma günü bir kafede. Hangi sandviçlerin en popüler olduğunu görebilmemiz için 75 defadan fazla sipariş edilen tüm sandviçleri filtrelemek istiyoruz.

Katılımcıların %81'i teknoloji işlerinden daha emin hissettiklerini belirtti. Bir bootcamp'a katıldıktan sonra beklentiler. Bugün bir eğitim kampı ile eşleştirin.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan az zaman harcadı.

İki liste tanımlayarak başlıyoruz. : sandviç listesi ve her sandviç için kaç sipariş verildiğini içeren bir liste.

sandviçler = ["Yumurta ve Tere", "Tavuk Kulübü", "Humus ve Domates", "Peynir"] siparişler = [54, 77, 22, 98]

Listelerimiz değişkenler “sandviçler” ve "siparişler". Ardından 75'ten fazla sipariş verilmiş sandviçlerin indeks numaralarını takip eden bir liste tanımlıyoruz.

orders_75 = []

Şu anda bu listeler boş. Bunun nedeni, hangi sandviçlerin 75 defadan fazla sipariş edildiğini henüz öğrenememiş olmamızdır.


Sonra, hangi sandviçlerin 75 defadan fazla sipariş edildiğini bulmak için sandviçler ve siparişler listemizi yineliyoruz. Bunu bir döngü için:

for in range(0, len(sandviçler) ): if siparişler[s] > 75: siparişler_75 = siparişler_75 + s

Kodumuz, 0 aralığında ve “sandviçler” listesinin uzunluğundaki her sayı arasında döngü yapar. bir sandviç için “siparişler” listesindeki karşılık gelen değer 75'ten büyükse, o sandviçin indeks konumunu “siparişler_75” listesine ekliyoruz.

Sonra, bir for yazıyoruz programımızın çalışıp çalışmadığını kontrol etmek için hangi sandviçlerin 75 defadan fazla sipariş edildiğini yazdıran döngü:

o için in order_75: print(sandwiches[o])

Python kodumuzu çalıştıralım ve ne olduğunu görelim:

Kodumuz bir hata döndürüyor.




Çözüm

Hata mesajımızda belirtilen kod satırına bir göz atın:

 order_75 = order_75 + s

Listemize bir tamsayı değeri birleştirmeye çalışıyoruz . Birleştirme yalnızca aynı veri türündeki yinelenebilir nesneler üzerinde çalıştığı için bunu yapamayız.

Bu hatayı çözmek için, bir eklemek için append() yöntemini kullanmalıyız. öğe listemize. Bu yöntem, listelere öğe eklemek için özel olarak tasarlanmıştır. Öğeler, sözlükler, tam sayılar veya kayan nokta sayıları gibi herhangi bir veri türünde olabilir.

append() yöntemini kullanmak için order_75 kod satırımızı değiştirin. :

 order_75.append(s)

Biz “orders_75” öğesine herhangi bir değer atamanız gerekmez; çünkü append() yöntemi, yerinde bir listeye bir öğe ekler. Kodumuzu çalıştıralım:

Chicken Club Cheese
< p>Kodumuz, 75 defadan fazla sipariş edilen sandviçlerin bir listesini yazdırır. Bu kriteri karşılayan iki sandviç var: Chicken Club ve Cheese.





Sonuç

“TypeError: yalnızca listeyi listelemek için birleştirebilir (“int” değil)” bir tamsayıyı bir tamsayı ile birleştirmeye çalıştığınızda ortaya çıkar. a list.

Yalnızca listeler listelerle birleştirilebildiğinden bu hata ortaya çıkar. Bu hatayı çözmek için, bir öğeye öğe eklemek için append() yöntemini kullanın. liste.

Artık bu Python hatasını bir profesyonel gibi çözmeye hazırsınız! p>



Python birleştirme listeleri: StackOverflow Questions

Tutorials