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

  • laptopmag

    laptopmag

    25 Ocak 2008
  • SuicideSheeep

    SuicideSheee

    8 Ocak 2012
  • the one am radio

    the one am r

    6 Mayıs 2006