Python dilinde karakter dizilerini nasıl karşılaştırırız bu yazımızda onu öğreneceğiz arkadaşlar. Aşağıdaki gibi iki adet karakter dizisi oluşturun.

karaktler_dizisi_1 = "abcdefghijklmnoprstuwyz"
karaktler_dizisi_2 = "bcdefhijkmnopstuwz"

Bu iki diziyi birbiriyle karşılaştırmak istiyoruz. İlk önce karaktler_dizisi_1 içinde karaktler_dizisi_2 karakterleri var mı kontrol edeceğiz. Bunun için daha önce kullandığımız for döngüsünden faydalanacağız.

karaktler_dizisi_1 = "abcdefghijklmnoprstuwyz"
karaktler_dizisi_2 = "bcdefhijkmnopstuwz"

for c in karaktler_dizisi_1:
    if not c in karaktler_dizisi_2:
        print(c)

Aldığımız sonuca bakacak olursak; farklı olan karakterleri sonuç olarak bastığını görüyoruz. Bunun sebebi “if not” olarak yazıldığı içindir.

a
g
l
r
y
>>>

Eğer “not” deyimini silip aşağıdaki gibi yazsaydık, farklı olanları değil aynı olanları bize sonuç olarak döndürecekti.

karaktler_dizisi_1 = "abcdefghijklmnoprstuwyz"
karaktler_dizisi_2 = "bcdefhijkmnopstuwz"

for c in karaktler_dizisi_1:
    if c in karaktler_dizisi_2:
        print(c)

Sonucumuz bu şekilde olacaktı.

b
c
d
e
f
h
i
j
k
m
n
o
p
s
t
u
w
z
>>>

Eğer ters kontrol yapmış olsaydık yani karakter_dizisi_2 içinde karakter_dizisi_1 karakterleri var mı kontrol et ve farklı olanları yaz deseydik bir sonuç alamayacaktık.

karaktler_dizisi_1 = "abcdefghijklmnoprstuwyz"
karaktler_dizisi_2 = "bcdefhijkmnopstuwz"

for c in karaktler_dizisi_2:
    if not c in karaktler_dizisi_1:
        print(c)

Buradaki kodda dikkat edilecek nokta her karakter tek tek kontrol ediliyor ve farklı ise ekrana basılıyor. Dolayısıyla aynı karakterden birden kez ekrana basılabilir. Ama biz aynı karakterleri sadece bir kez göstermeyi tercih edersek aşağıdaki gibi bir kod yazabiliriz.

karaktler_dizisi_1 = "abcdaefghijklvmnoprstuvwyz"
karaktler_dizisi_2 = "bcdefhijkmnopstuwz"

fark = ""

for c in karaktler_dizisi_1:
    if not c in karaktler_dizisi_2:
        if not c in fark:
            fark += c
print(fark)

Sonucumuz aşağıdaki gibi olacaktır. Farkettiyseniz ilk metinde iki adet a ve v karakteri vardır.

aglvry
>>>

İyi çalışmalar.


0 yorum

Bir cevap yazın

Avatar placeholder

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.