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

  • Michael Neal

    Michael Neal

    2 Mayıs 2009
  • mobilenet.cz

    mobilenet.cz

    26 NİSAN 2008
  • Strata1000

    Strata1000

    28 EYLÜL 2009