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

  • Rockstar Games

    Rockstar Gam

    17 ŞUBAT 2006
  • Ryan Ha

    Ryan Ha

    9 NİSAN 2006
  • Tire Rack

    Tire Rack

    31 Mayıs 2007