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

  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006
  • Kiddyzuzaa

    Kiddyzuzaa

    25 ŞUBAT 2014
  • nigahiga

    nigahiga

    21 Temmuz 2006