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

  • DudeFromUkraine

    DudeFromUkra

    7 Ocak 2008
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013
  • TastyTuts | Creative video tutorials by Gareth David

    TastyTuts |

    6 Temmuz 2011