SORU
7 Mart 2010, Pazar


Nasıl Python iki boyutlu bir diziyi başlatmak için?

Python başlıyorum ve ben başlangıçta her yerde aynı değişkeni ile doldurmak, iki boyutlu bir listesini kullanmak için çalışıyorum. Ben bu ile geldi:

def initialize_twodlist(foo):
    twod_list = []
    new = []
    for i in range (0, 10):
        for j in range (0, 10):
            new.append(foo)
        twod_list.append(new)
        new = []

İstenen sonucu verir, ama geçici bir çözüm gibi geliyor. Daha kolay/daha kısa/daha zarif bir şekilde bunu yapmak için var mı?

CEVAP
7 Mart 2010, Pazar


Python sık sık karşıma çıkan bir model oldu

bar = []
for item in some_iterable:
    bar.append(SOME EXPRESSION)

bu parçacığı dönüştürmek hangi liste üreteçleri, giriş motive oldu

bar = [SOME EXPRESSION for item in some_iterable]

bazen daha kısa ve daha net. Genellikle kapsam ve sık sık değiştirilmesi bu döngüler tanıma alışkanlık olsun.

Kodunuzu bu desen iki kez izler

twod_list = []                                       \                      
for i in range (0, 10):                               \
    new = []                  \ can be replaced        } this too
    for j in range (0, 10):    } with a list          /
        new.append(foo)       / comprehension        /
    twod_list.append(new)                           /

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GavinMichaelBooth

    GavinMichael

    26 AĞUSTOS 2006
  • kourtneyannmakeup

    kourtneyannm

    19 ŞUBAT 2012
  • Videojug

    Videojug

    25 EKİM 2006