WMT Yeni forum temamız aktif.
Değerli WebmasterTakimi.com ziyaretçileri ve üyeleri.Forumumuza hoşgeldiniz.Yeni temamız artık kullanılabilir durumda.Eksiklikler ve hataların giderilmesi için gördüğünüz hataları buradan bize bildirmenizi rica ediyoruz.Tema hakkında yorum yapmak isterseniz burada bulunan konuya yorum yapabilirsiniz.
Reklam
Koordinatları ve diğer parametreleri içeren bir listem var. Yeni bir liste yapmak zorundayım ya da en büyük parametreye sahip olan listenin yinelenen koordinatların ilk listesini düzenlemem lazım.
Kod:
list = [

[(34.5464,58.3435),35]
[(34.5464,58.3435),17]
[(34.5464,58.3435),23]
[(36.6575,62.6545),89]
[(31.2101,45.9789),2]
[(31.2101,45.9789),12]
[(37.5462,48.7521),78]

]
Buna ihtiyacım var :
Kod:
list_dub_max = [

[(34.5464,58.3435),35]
[(31.2101,45.9789),12]

]
Yardım edebilecek bir gönüllü arıyorum
Alt 15.Ekim.2017
  #2
Böyle yapman gerek:
Kod:
def getFilteredList(l):
    list_dub_max = {}
    for val in l:
        if (val[0] in list_dub_max and list_dub_max[val[0]] < val[1]) or val[0] not in list_dub_max:
             list_dub_max[val[0]] = val[1]
    return [[k,v] for k,v in list_dub_max.iteritems()]
YA DA
Basit dict anlayışı kullanarak:
Kod:
list_dub_max = {}
list_dub_max = {val[0]:val[1] for val in l if (val[0] in list_dub_max and list_dub_max[val[0]] < val[1]) or val[0] not in list_dub_max}
list_dub_max = [[k,v] for k,v in list_dub_max.iteritems()]
ilk listenin olduğu kısım:
Kod:
l = [
[(34.5464,58.3435),35],
[(34.5464,58.3435),17],
[(34.5464,58.3435),23],
[(36.6575,62.6545),89],
[(31.2101,45.9789),2],
[(31.2101,45.9789),12],
[(37.5462,48.7521),78],
]
Alt 15.Ekim.2017
  #3
Dict’i böyle kullan:
Kod:
>>> data = [[(34.5464, 58.3435), 35], [(34.5464, 58.3435), 17], [(34.5464, 58.3435), 23], [(36.6575, 62.6545), 89], [(31.2101, 45.9789), 2], [(31.2101, 45.9789), 12], [(37.5462, 48.7521), 78]]
>>> result={}
>>> for t,v in data:
    x = result.get(t)
    if x:
        if x<v: result[t]=v
    else:
        result[t] = v


>>> result = result.items()
>>> result
[((37.5462, 48.7521), 78), ((31.2101, 45.9789), 12), ((36.6575, 62.6545), 89), ((34.5464, 58.3435), 35)]
Eğer list’in list’i yerine list’in tuple’sine gerek duyuyorsanız, bunu yapabilirsiniz(diğer cevap gibi):
Kod:
result = [[k,v] for k,v in result.iteritems()]


« önceki Konuya git | sonraki Konuya git »

Şuan bu sayfada bulunan kişiler: 1 kişi (0 üye ve 1 ziyaretçi)
 
Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok
BB kodu Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Seçenekler
Stil



Tüm Zamanlar GMT +2 Olarak Ayarlanmış. Şuanki Zaman: 03:01.

Bize Yazin - Webmaster Forumu - Arşiv - Yukarı git
Powered by vBulletin™ Version 3.8.9 Beta 1
Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.
Yemek tarifleri