Python katılım listesi

Join() y√∂ntemi, liste gibi yinelenebilir bir nesneyi dizeye d√∂nu≈üturmenize olanak tanƒ±r. split() y√∂nteminin tersidir. Yinelenebilir bir nesne olmayan bir deƒüeri bir listeye eklemek için bu y√∂ntemi kullanmayƒ± denerseniz, "TypeError: can katƒ±labilir bir yinelenebilir‚" error.

Bu kƒ±lavuzda, bu hatanƒ±n ne anlama geldiƒüi ve nasƒ±l çalƒ±≈ütƒ±ƒüƒ± hakkƒ±nda konu≈üacaƒüƒ±z. Nasƒ±l çalƒ±≈ütƒ±ƒüƒ±nƒ± √∂ƒürenmenize yardƒ±mcƒ± olmasƒ± için bu listenin bir √∂rneƒüini inceleyeceƒüiz.

TypeError: yalnızca yinelenebilir bir öğeye katılabilir

Hadi hata mesajımıza bir göz atalım: TypeError: yalnızca yinelenebilir bir öğeye katılabilir.

Veri turu bu i≈ülemi desteklemeyen bir deƒüer uzerinde bir i≈ülem gerçekle≈ütirmeye çalƒ±≈ütƒ±ƒüƒ±nƒ±zda TypeErrors ortaya 烱kar. Hata turunden sonraki mesaj bize yinelenebilir bir nesne olmayan bir deƒüeri birle≈ütirmeye çalƒ±≈ütƒ±ƒüƒ±mƒ±zƒ± s√∂yler.

Join() y√∂ntemi yalnƒ±zca liste veya bir tuple. Bunun nedeni, birle≈ütirme y√∂nteminin bir dizideki her √∂ƒüeden geçmesi ve bunlarƒ± bir dizeye eklemesidir. Bir deƒüer yinelenebilir deƒüilse, bu i≈ülem gerçekle≈üemez.

Bu hata, Yok’a e≈üit bir deƒüeri birle≈ütirmeye çalƒ±≈ütƒ±ƒüƒ±nƒ±zda yaygƒ±ndƒ±r.

Örnek Senaryo

Bir peynir satƒ±cƒ±sƒ± için peynir listesi sipari≈ü eden bir program olu≈üturalƒ±m. Bir kullanƒ±cƒ±ya peynirleri artan veya azalan sƒ±rayla isteyip istemediƒüini soracaƒüƒ±z. Ba≈ülamak için bir peynir listesi tanƒ±mlayalƒ±m:

peynirler = ["Parmesan", "İngiliz Cheddar", "Feta", "Roquefort", "Brie"]< br>

Katƒ±lƒ±mcƒ±larƒ±n %81’i, bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü beklentileri konusunda kendilerini daha guvende hissettiklerini belirtti. Bugun 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 daha az zaman harcadƒ±.

Sƒ±rada, gidiyoruz. kullanƒ±cƒ±ya peynir listesinin g√∂runmesini istediƒüi sƒ±rayƒ± sormak için:

order = input("Peynirlerin artan (ASC) veya azalan (DESC) sırada görunmesini ister misiniz? ")

Bir kullanƒ±cƒ±nƒ±n eklediƒüi yanƒ±tƒ± bir boole deƒüerine çevirmek için bir "if‚" ifadesi kullanacaƒüƒ±z:

Bir kullanƒ±cƒ± "ASC‚" deƒüerini eklerse, liste artan duzende sƒ±ralanƒ±r. Aksi takdirde, liste ters sƒ±rada sƒ±ralanƒ±r.

Daha sonra, Listemizi sƒ±ralamak için sort() y√∂ntemi:

peynirler = cheeses.sort(reverse=reverse)

Daha √∂nce tanƒ±mladƒ±ƒüƒ±mƒ±z "reverse‚" deƒüi≈ükenine ba≈üvuruyoruz. r peynirlerimizin artan veya azalan duzende sƒ±ralanmasƒ±nƒ± istiyoruz.

Şimdi peynirlerimizi sıraladığımıza göre onları bir dizi halinde birleştirip konsola yazdıracağız:< br>

Join() y√∂ntemi, "peynirlerden‚" bir dizeye listeleyin. Her peynir bir bo≈üluk ve virgulle ayrƒ±lacaktƒ±r. Join() y√∂ntemini çaƒüƒ±rmadan √∂nce bu karakterleri kodumuzda tƒ±rnak içine almƒ±≈ütƒ±k.

Programƒ±mƒ±zƒ± çalƒ±≈ütƒ±ralƒ±m:

peynirler artan (ASC) veya azalan (DESC) sırada mı görunecek? ASC

birleştirilebilir

Kodumuz bir hata dönduruyor.

Çözum

Bizim kod, kullanƒ±cƒ±dan peynir listesinin hangi sƒ±rada g√∂runmesi gerektiƒüini sorar. Kodumuz 12. satƒ±rda çalƒ±≈ümayƒ± durdurur. Burasƒ±, peynir listemizi bir dizgede birle≈ütirdiƒüimiz yerdir.

Sorun, "peynir‚" deƒüerinin kodumuzda Yok’a e≈üit olmasƒ±. Bunun nedeni, sƒ±ralamanƒ±n deƒüerini atamƒ±≈ü olmamƒ±zdƒ±r( ) y√∂ntemini yeni bir deƒüi≈ükene d√∂nu≈üturur.

sort() yöntemi bir listeyi yerinde sıralar. Mevcut bir listeyi değiştirir. sort() yöntemi yeni bir liste döndurmez. Bu, şu anlama gelir: cheeses.sort(reverse=reverse) değerini bir değişkene atadığımızda, bu değişkenin değeri Yok olur.

< p>Bu sorunu ç√∂zmek için, peynirlerimizi sƒ±raladƒ±ƒüƒ±mƒ±z kod satƒ±rƒ±ndaki deƒüi≈üken bildirimini kaldƒ±rmamƒ±z gerekiyor:

cheeses.sort(reverse=reverse)

Bu kod peynir listemizi sƒ±ralayacak. "peynir‚" deƒüeri Yok yerine sƒ±ralanan listeye e≈üit olacaktƒ±r. Kodumuzu çalƒ±≈ütƒ±ralƒ±m. ve neler olduƒüunu g√∂run:

"Python.Engineering, hayatƒ±ma en çok ihtiyacƒ±m olduƒüu anda girdi ve hƒ±zlƒ± bir ≈üekilde bir bootcamp ile e≈üle≈ümeme yardƒ±mcƒ± oldu. Mezun olduktan iki ay sonra, hayattaki deƒüerlerim ve hedeflerime uygun hayalimdeki i≈üi buldum!"

Venus, Rockbot’ta Yazƒ±lƒ±m Muhendisi

< p>Peynirlerin artan (ASC) veya azalan (DESC) sırada görunmesini ister misiniz? ASC

Sıralanan peynirleriniz: Brie, English Cheddar, Feta, Parmesan, Rokfor

Kodumuz ba≈üarƒ±yla sƒ±ralanmƒ±≈ü bir peynir listesi d√∂nduruyor.Peynirlerimizi azalan duzende sƒ±ralamaya çalƒ±≈üalƒ±m:

peynirler artan (ASC) veya azalan (DESC) sırada mı görunecek? DESC

Sıraladığınız peynirler: Rokfor, Parmesan, Feta, İngiliz Cheddar, Brie

< p>Kodumuz, listelerimizi hem artan hem de azalan duzende sıralayabilir.

Sonuç

"TypeError: yalnƒ±zca yinelenebilir bir ≈üekilde katƒ±labilir‚" hatasƒ±, bir dizgeye yinelenemeyen bir deƒüer ekleyin.

Bu, yerle≈üik bir listenin deƒüerini atarsanƒ±z olabilir. sort() gibi bir y√∂ntemi yeni bir deƒüi≈ükene d√∂nu≈üturun ve bu i≈ülemin sonucunu bir dizeye birle≈ütirmeye çalƒ±≈üƒ±n. Bu hatayƒ±, bir dizeye birle≈ütirmeye çalƒ±≈ütƒ±ƒüƒ±nƒ±z deƒüerin bir liste veya bir demet gibi yinelenebilir olduƒüundan emin olarak duzeltebilirsiniz.

Artƒ±k kodunuzdaki bu hatayƒ± bir profesyonel gibi ç√∂zmeye hazƒ±rsƒ±nƒ±z!