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

  • Adam Khoury

    Adam Khoury

    23 Ocak 2008
  • Friday Night Cranks

    Friday Night

    27 Mayıs 2007
  • Lin Steven

    Lin Steven

    17 EKİM 2006