Olay şu: 2 liste var, 1. listemize bir değer daha ekleniyor ortalarına bir yere ve yeni bir liste oluyor. Ben bu eklenen yeni değerli liste ile bir önceki listeyi karşılaştırdığımda yeni eklenen değeri almak istiyorum.
Örnek:
Liste1 = ["araba","kalem","top","oyuncak"]
YeniListe1 = = ["araba","kalem","top","klavye","oyuncak"]
ben yeni liste ve eski listeyi karşılaştırarak klavye eklendiğini nasıl anlayabilirim?
Pythonda Bunu Nasıl Yapabilirim?
7
●254
- 03-01-2023, 23:54:53
- 03-01-2023, 23:58:16
- 03-01-2023, 23:58:45Listelerdeki eleman sayılarını kontrol edin daha sonra for döngüleriyle yeni listenin içinde turlayın ve diğer listede aynı eleman var mı kontrol edin
- 03-01-2023, 23:59:00Teşekkür ederimmertcangokgoz adlı üyeden alıntı: mesajı görüntüle
- 04-01-2023, 00:02:45set farkıyla alabilirsin
Liste1 = ["araba","kalem","top","oyuncak"]
YeniListe1 = ["araba","kalem","top","klavye","oyuncak"]
yenigelenliste = list(set(YeniListe1)-set(Liste1))
print(yenigelen) - 04-01-2023, 00:05:22For döngüsüne sok karşılaştır eşit olmayanları yeni listeye append et hocamsatrancali adlı üyeden alıntı: mesajı görüntüle
- 04-01-2023, 09:45:27For döngüleriyle işi olabildiğince karmaşıklaştırmaya gerek yok, bu işlem için kütüphane de gereksiz kaçabilir ve set(a) - set(b) işleminde de bazı görünmez hatalar meydana gelebilir. Örneğin a = ['1', '2'], b = ['1', '2', '3'] olsun. Bu durumda bize 3 vermesini beklerken boş çıktı verecektir çünkü a'dan b'yi çıkarıyor ve a'da hiç eleman kalmıyor. Bence en basit çözüm:
a = ['1', '2'] b = ['1', '2', '3'] print(list(set(a) ^ set(b)))