logo

Python'da Dize Listelerini Çıkarma

Python'da bir dize, bir karakter dizisidir ve liste, dizeler de dahil olmak üzere herhangi bir veri türünde olabilen öğelerin bir koleksiyonudur. Çıkarma Bir dize listesinin oluşturulması, iki öğe arasında ortak olan öğelerin kaldırılmasını içerir. listeler veya Teller .

java dizesine karakter

Bir dize listesini diğerinden çıkarmak için şunu kullanabilirsiniz: 'ayarlamak' Python'da veri türü. Küme veri türü, benzersiz öğelerin sırasız bir koleksiyonudur. Çıkarma operatörü '-' iki küme arasında, birinci kümede olup ikinci kümede bulunmayan elemanları bulmak için kullanılabilir.

Örnek:

Ayarlanmış veri türünü kullanarak bir dize listesini diğerinden çıkarmaya ilişkin bir örnek:

 list1 = ['apple', 'banana', 'cherry', 'orange'] list2 = ['banana', 'orange', 'kiwi'] result = list(set(list1) - set(list2)) print(result) 

Çıktı:

 ['apple', 'cherry'] 

Yukarıdaki örnekte iki liste tanımladık; 'sayfa1' Ve 'liste2' . Bundan sonra her listeyi kullanarak bir kümeye dönüştürüyoruz. 'ayarlamak' Python'da işlev. Bundan sonra şunu kullanıyoruz: '-' elemanlarını çıkarma operatörü 'liste2' itibaren 'sayfa1' . Son olarak, ortaya çıkan seti kullanarak tekrar bir listeye dönüştürüyoruz. 'liste' Python'da işlev.

Bu yeni bir listeyle sonuçlanır 'sonuç' unsurlarını içeren 'sayfa1' içinde bulunmayan 'liste2' , bu durumda bunlar 'elma' Ve 'Kiraz' .

Örnek:

Bir dize listesinin tek bir dizeden nasıl çıkarılacağını gösteren başka bir örnek:

 string1 = 'Hello world!' list1 = ['o', 'l', 'd'] result = ''.join([char for char in string1 if char not in list1]) print(result) 

Çıktı:

 'He wr!' 

Yukarıdaki örnekte bir string tanımladık. 'dize1' ve dizelerin bir listesi 'sayfa1' . Bundan sonra, her karakter üzerinde yineleme yapmak için bir liste kavrama kullanırız. 'dize1' ve mevcut olup olmadığını kontrol edin 'sayfa1' . Karakter içeride değilse 'sayfa1' kullanarak yeni bir listeye ekliyoruz. 'katılmak' yöntem. Son olarak ortaya çıkan listeyi tekrar bir dizeye dönüştürüyoruz.

Bu yeni bir dizeyle sonuçlanır 'sonuç' yalnızca karakterlerini içeren 'dize1' içinde bulunmayan 'sayfa1' , bu durumda bunlar 'H', 'e', ​​'', 'w' , Ve 'R' .

Ortaya çıkan listedeki veya dizedeki öğelerin sırasının korunmayabileceğini belirtmekte fayda var. Sırayı korumanız gerekiyorsa, bir liste kavramasını kullanabilirsiniz. 'eğer' İkinci listede bulunan öğeleri filtrelemek için kullanılan ifade.

rudyard kipling eğer açıklama

Örnek:

 list1 = ['apple', 'banana', 'cherry', 'orange'] list2 = ['banana', 'orange', 'kiwi'] result = [item for item in list1 if item not in list2] print(result) 

Çıktı:

 ['apple', 'cherry'] 

Yukarıdaki örnekte iki liste tanımladık; 'sayfa1' Ve 'liste2' . Bundan sonra, her bir öğe üzerinde yineleme yapmak için bir liste anlayışı kullanırız. 'sayfa1' ve mevcut olup olmadığını kontrol edin 'liste2' . Eğer eleman içeride değilse 'liste2' , onu yeni bir listeye ekliyoruz. Son olarak elemanlarını içeren sonuç listesini yazdırıyoruz. 'sayfa1' içinde bulunmayan 'liste2' .

Diğer bazı bilgiler:

Veri Türlerini Ayarla ve Listele:

Daha önce de belirtildiği gibi, dize listelerini çıkarırken listelerin kümelere dönüştürülmesi önerilir. Bunun nedeni, kümelerin öğelerin varlığını kontrol etmek ve kopyaları kaldırmak için optimize edilmiş olmasıdır. Ancak öğelerin sırasını korumak önemliyse bunun yerine liste anlayışını kullanmak daha iyi olabilir.

Performansla İlgili Hususlar:

Listeleri kümelere dönüştürmek, özellikle büyük listeler için hesaplama açısından pahalı bir işlem olabilir. Performans önemliyse liste kavrama veya oluşturucu ifade gibi alternatif yaklaşımlar kullanmayı düşünebilirsiniz.

monitör ekranım ne boyutta

Değişkenlik:

Setlerin olduğuna dikkat etmek önemlidir. değişken , dizeler ve demetler (yinelenebilir veri türleri olarak da kullanılabilir) değildir. Bu, bir kümeyi başka bir kümeden çıkardığınızda elde edilen kümenin şu şekilde olduğu anlamına gelir: değişken ve içeriğini değiştirebilirsiniz. Öte yandan, bir listeyi veya demetini başka bir listeden veya demetten çıkarırken, ortaya çıkan liste veya demet değiştirilemez ve içeriğini değiştiremezsiniz.

İç İçe Listeler:

İç içe geçmiş listelerle çalışıyorsanız, bir listeyi diğerinden çıkarmak için iç içe döngü veya özyineleme kullanmanız gerekebilir. İşte bir örnek:

 list1 = [['apple', 'banana'], ['cherry', 'orange']] list2 = [['banana', 'kiwi'], ['cherry', 'pear']] result = [] for sublist1, sublist2 in zip(list1, list2): subresult = [item for item in sublist1 if item not in sublist2] result.append(subresult) print(result) 

Çıktı:

 [['apple'], ['orange']] 

Yukarıdaki örnekte iki iç içe liste tanımladık, 'sayfa1' Ve 'liste2' . Bundan sonra, her bir alt liste çifti üzerinde yineleme yapmak için bir for döngüsü kullanırız. 'sayfa1' Ve 'liste2' . Her bir alt listenin öğelerini çıkarmak için bir liste anlayışı kullanırız. 'liste2' ' içindeki ilgili alt listeden yaprak1' . Son olarak ortaya çıkan alt listeleri yeni bir listeye ekliyoruz 'sonuç' .