SORU
8 AĞUSTOS 2011, PAZARTESİ


Pythonic döngü İÇİN birleştirmek ve EĞER bir şekilde ifade

Her iki döngüler ve if ifadeleri ayrı satırlarda olarak kullanmayı biliyorum

>>> a = [2,3,4,5,6,7,8,9,0]
... xyz = [0,12,4,6,242,7,9]
... for x in xyz:
...     if x in a:
...         print(x)
0,4,6,7,9

Ve bu ifadeler, basit olduğunda bu birleştirmek için anlama, böyle bir liste olarak kullanabilirim biliyorum:

print([x for x in xyz if x in a])

Ama ne bulamıyorum iyi bir örnek, herhangi bir yerde (kopyala ve Öğren) gösteren bir kompleks set komutları (sadece "print x") meydana gelen aşağıdaki birleşimi için bir döngü ve eğer bazı ifadeler. Beklediğiniz bir şey gibi görünüyor:

for x in xyz if x not in a:
    print(x...)

Bu sadece python çalışmak gerekiyordu değil mi?

CEVAP
8 AĞUSTOS 2011, PAZARTESİ


Bu gibi generator expressions kullanabilirsiniz:

gen = (x for x in xyz if x not in a)

for x in gen:
    print x

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • gadgetgal38

    gadgetgal38

    9 HAZİRAN 2009
  • LinusTechTips

    LinusTechTip

    25 Kasım 2008
  • xiaoyu85

    xiaoyu85

    20 ŞUBAT 2010