SORU
29 Temmuz 2009, ÇARŞAMBA


Liste üreteci çift Yineleme

Python listesinde bir kavrama birden fazla kullanımına, gibi olabilir

[(x,y) for x in a for y in b]

bazıları için a ve b uygun dizileri. Python'un liste üreteçleri iç içe döngü mantığı farkındayım.

Benim soru şudur: anlama; bir yineleyici diğer başvurabilir? Diğer bir deyişle: böyle bir şey Olabilir

[x for x in a for a in b]

dış döngünün o anki değeri iç yineleyici nerede?

Örnek olarak, eğer iç içe bir listesi var:

a=[[1,2],[3,4]]

liste üreteci ifadesi bu sonucu elde etmek için ne olurdu:

[1,2,3,4]

?? (Sadece anlama cevapları, bunu öğrenmek istiyorum ne olduğundan) listesi lütfen.

CEVAP
29 Temmuz 2009, ÇARŞAMBA


Kendi öneri ile sorunun cevabı:

>>> [x for b in a for x in b] # Works fine

Liste üreteci bazı cevaplar istedin ederken, beni de mükemmel itertools işaret edelim.() zincir:

>>> from itertools import chain
>>> list(chain.from_iterable(a))
>>> list(chain(*a)) # If you're using python < 2.6

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AndyMcMillinTV

    AndyMcMillin

    6 HAZİRAN 2007
  • Elliot Davin

    Elliot Davin

    28 Kasım 2008
  • metal571

    metal571

    30 Mayıs 2006