python yıldız Sisli | Netgez.com
SORU
8 Mart 2011, Salı


python yıldız Sisli

İtertools kullanıyorum."bu şekilde liste" listesi: . dümdüz zinciri

uniqueCrossTabs = list(itertools.chain(*uniqueCrossTabs))

ne demek bu daha farklı

uniqueCrossTabs = list(itertools.chain(uniqueCrossTabs))

CEVAP
9 Mart 2011, ÇARŞAMBA


* "" operatörü: girdi olarak bir liste alır ve işlev çağrısı gerçek konumsal bağımsız değişkenleri taşınılır. uyarısı

uniqueCrossTabs [ [ 1, 2 ], [ 3, 4 ] ], eğer öyleyse itertools.chain(*uniqueCrossTabs) itertools.chain([ 1, 2 ], [ 3, 4 ]) söylemekle aynı şeydir

Bu sadece uniqueCrossTabs geçerken gelen açık bir biçimde farklı. Senin durumunda, size bir liste listeleyen istediğiniz için dümdüz; ne itertools.chain() mu iade yineleyici üzerinde birleştirme tüm konumsal bağımsız değişkenleri geçirmek için, her konumsal argüman iterable kendi içinde doğru.

Diğer bir deyişle, size geçmek istiyorum her listesinde uniqueCrossTabs argüman olarak chain(), hangi zincir onlarla birlikte, ama gerek yok listelerinde ayrı değişkenler, yani * operatör Listeyi genişletmek listeleri içine birkaç bağımsız değişken listesi.

Jochen olarak Ritzel iterables tek bir iterable varsayar gibi yorumlar, chain.from_iterable() Bu işlem için daha uygundur, başlamak için işaret etti. Kodunuzu o zaman sadece olur

uniqueCrossTabs = list(itertools.chain.from_iterable(uniqueCrossTabs))

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • Barnacules Nerdgasm

    Barnacules N

    20 Temmuz 2006
  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • jkimisyellow...ish

    jkimisyellow

    8 Temmuz 2009