liste nitelikleri python

Python işlevleri ve meth

Python listeleri, bir listenin değerlerinde görünen karakterlere göre ayrı listelere bölünemez. Bu, değerlerin bir listeye ayrılabileceği dizelerden farklıdır.

Eğer üzerinde split() yöntemini kullanmayı denerseniz, bir liste, “attributeerror: ‘list’ hatasını alıyorsunuz. nesnenin ‘split’” özniteliği yoktur.

Bu kılavuzda, bu hatanın ne anlama geldiği ve bunu neden kodunuzda bulabileceğiniz hakkında konuşuyoruz. Ayrıca, bu hatayı nasıl çözeceğinizi anlamanıza yardımcı olacak örnek bir senaryoyu da inceliyoruz.




attributeerror: ‘list’ nesnenin ‘split’

özniteliği yok

Bu hata bize listelerde bulunmayan bir işlevi kullanmaya çalıştığımızı söylüyor.

split() yöntemi, bir dizeyi listeye böler. Dize, ayırıcı karakterin göründüğü her noktada bölünür. Örneğin, bir dizeyi virgül ve boşluktan (“, ”) sonra gelen tüm değerleri içeren bir listeye bölebilirsiniz:

cakes = "Peynirli Çörek, Vişneli Çörek, Meyveli Çörek" cake_list = cakes.split(", ") print(cake_list)

Kodumuz, “kekler” virgül ve ardından bir boşluk bulunan yerler arasındaki dize. Bu değerler daha sonra “cake_list” adlı listeye eklenir. Kodumuz şunu döndürür:

['Peynirli Çörek', 'Kiraz Çörek', 'Meyveli Çörek' ]

split() işlemi yalnızca dizelerde çalışır.




Örnek Senaryo

Bir < var Bir çayevinde satılan kekler hakkında bilgi içeren bir href="/python-csv-module/">CSV dosyası. Müşterilerin içeceklerinin yanında ne istediklerini seçebilmeleri için her pastanın adını Python kabuğuna yazdırmak istiyoruz.

Katılımcıların %81'i teknolojilerinden daha emin hissettiklerini belirtti. Bir eğitim kampına katıldıktan sonra iş olanakları. Bugün bir eğitim kampı ile eşleşin.

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ı.

CSV dosyamız şuna benziyor. :

Peynirli Çörek, 1,30 Dolar, Vejetaryen Tost Teacake, 1,50 Dolar, Vejetaryen Meyveli Ekmek, 1,40 Dolar, Vejetaryen

Dosyamız üç girdi içerir: biri peynirli çörekler için, biri kızarmış kekler için ve biri de meyveli ekmek için. Değerlerimize erişmek için bu dosyayı programımıza okuyoruz:

with open("cakes.csv" ", "r") dosya olarak: cakes = file.readlines() cake_names = cakes.split(", ")[0] print(cake_names)

Bu program “ kekler.csv” dosya. Daha sonra, her pastanın adına erişebilmemiz için her kayıttaki değerleri bölmek için split() yöntemini kullanır.


Bir kayıttaki ilk öğeye erişmek için [0] indeksleme sözdizimini kullanırız. bir pasta.

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

< ön>İzleme (en son çağrı son): Dosya "main.py", satır 4, cake_names = cakes.split(", ")[0] AttributeError: "list" nesnesinin "split" özelliği yok

Kodumuz beklendiği gibi bir hata döndürüyor.




Çözüm

split() yöntemi bir listede. “cakes” içeriğini konsola yazdıralım:

Kodumuz şunu döndürür:

['Peynirli Çörek, 1,30 Dolar, Vejetaryen ', 'Kızarmış Teacake, 1,50 Dolar, Vejetaryen', 'Meyveli Ekmek, 1,40 Dolar, Vegetaria n ']

Kodumuz, split() kullanarak bir listeyi birden çok listeye ayıramaz. Bunun nedeni, listelerin zaten virgülle ayrılmış olmasıdır. Bunun yerine listemizdeki her öğe için split() yöntemini kullanmalıyız.

Bunu bir for döngüsü, “cakes.csv” dosya:

file olarak open("cakes.csv", "r") ile: cakes = dosya. keklerde c için readlines(): split_lines = c.split(", ") print(split_lines[0])

“ kek” değişken. Listedeki her dize değerini “, ”dize modeline bölmek için split() yöntemini kullanırız. Bu, pasta isimlerinin, fiyatlarının ve vejeteryan durumunun bir listeye bölünmesi gerektiği anlamına gelir.

Kodumuzun son satırında split_lines[0] kullanıyoruz. her yeni listedeki ilk öğeyi yazdırmak için Bu, her pastanın adına eşittir. Kodumuzu çalıştırmayı deneyelim:

Peynirli Çörek Kızartılmış Teacake Meyveli Ekmek

Kodumuz başarıyla bir pasta listesi yazdırıyor. Bunun nedeni, bir liste ayırmamış olmamızdır. Listemizde görünen her dizedeki tüm öğeleri ayırmak için split() kullanırız.





Sonuç

“attributeerror: ‘list’ nesnesinin özniteliği yok ‘split’ bir listeyi bölmeye çalıştığınızda hata oluşuyor split() yöntemini kullanarak birden çok listeye ekleyin.

Bu hatayı bir dizede yalnızca split() kullandığınızdan emin olarak çözersiniz. Bir dosyayı bir programda okursanız, tüm satırların listesi yerine dosyadaki her bir satırda split() kullandığınızdan emin olun.

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





liste nitelikleri python: StackOverflow Questions