Selamlar,
Python'da yeni sayılırım.
liste=[[a,b,c,d],
[e,f,g,h],
[k,l,m,d],
[x,y,j,d],
[p,r,s,z]]
şekilde bir array düşünün. Arrayin 0,2 ve 3. elemanının 3. indisleri aynı olsun. (d isimli indis)
Ben bu arrayde, 3. indisleri aynı olanları teke düşürmek istiyorum.
Yani istediğim yeni array:
liste2=[[a,b,c,d],
[e,f,g,h],
[p,r,s,z]]
Yardımcı olur musunuz?
Ben de çok iyi biliyorum diyemem, basitten gidelim. Üçüncü indisleri aynı olan array adreslerini nasıl buluruz?
1. ye baktık "d" aramak için işaretledik
2. ye baktık "h"
3. ye baktık "d" bunu kaydettik
4. ye baktık "d" bunu kaydettik
5. ye baktık "z"
arama kayıdı olduğu için 1'i tuttuk diğer adresini kaydettiklerimizi diziden attık. Döngüyü 2.'den itibaren tekrar başlattık
2. ye baktık "h" aramak için kaydettik
3. ye baktık "z"
tekrar yok dizi aynı
n-1 kere tekrar ettiğimiz için "z" ye bakmadık.
Alıntı yapılan: muhendisbey - 18 Temmuz 2021, 23:11:38Ben de çok iyi biliyorum diyemem, basitten gidelim. Üçüncü indisleri aynı olan array adreslerini nasıl buluruz?
1. ye baktık "d" aramak için işaretledik
2. ye baktık "h"
3. ye baktık "d" bunu kaydettik
4. ye baktık "d" bunu kaydettik
5. ye baktık "z"
arama kayıdı olduğu için 1'i tuttuk diğer adresini kaydettiklerimizi diziden attık. Döngüyü 2.'den itibaren tekrar başlattık
2. ye baktık "h" aramak için kaydettik
3. ye baktık "z"
tekrar yok dizi aynı
n-1 kere tekrar ettiğimiz için "z" ye bakmadık.
Algoritmasını ben de kurabiliyorum ama teşekkürler yine de.
Python numpy kütüphanesi ile yapılabilir ama nasıl?
liste=[["a","b","c","d"],
["e","f","g","h"],
["k","l","m","d"],
["x","y","j","d"],
["p","r","s","z"]]
eklenecekler = []
filtered =[]
for i in range(len(liste)):
if liste[i][3] not in eklenecekler:
eklenecekler.append(liste[i][3])
filtered.append(liste[i])
print(filtered)
pycharm ile denedim çalıştı.
İlk önce boş bir iste oluştur. Sonra 3. elemanları bu listede var mı diye kontrol et. varsa pas geç yoksa ekle. listenin tüm elemanları içinkontrolü yapınca mükerrerlerden kurutlursun.
sanırım aradığınız şunun gibi bir şey. (Burada sutün içinde değeri aynı olan satırları ayırmış.)
https://stackoverflow.com/questions/30189484/identify-vectors-with-same-value-in-one-column-with-numpy-in-python