SORU
4 HAZİRAN 2009, PERŞEMBE


Python: bir listeyi bir koşula göre bölünmüş?

En iyi yolu, ve performans açısından bakıldığında, birden fazla liste koşullu dayalı öğelerin bir listesini bölmek için hem de estetik olarak nedir? Eşdeğer:

good = [x for x in mylist if x in goodvals]
bad  = [x for x in mylist if x not in goodvals]

daha zarif bir şekilde bunu yapmak için var mı?

Burada fiili kullanma durumu, daha iyi yapmaya çalışıyorum ne olduğunu açıklamak için: güncelleme:

# files looks like: [ ('file1.jpg', 33L, '.jpg'), ('file2.avi', 999L, '.avi'), ... ]
IMAGE_TYPES = ('.jpg','.jpeg','.gif','.bmp','.png')
images = [f for f in files if f[2].lower() in IMAGE_TYPES]
anims  = [f for f in files if f[2].lower() not in IMAGE_TYPES]

CEVAP
27 AĞUSTOS 2012, PAZARTESİ


good, bad = [], []
for x in mylist:
    (bad, good)[x in goodvals].append(x)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • campos9896

    campos9896

    24 Mart 2012
  • Phandroid

    Phandroid

    26 Ocak 2009
  • tseyina

    tseyina

    2 AĞUSTOS 2006