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

  • ELawshea

    ELawshea

    26 Mayıs 2008
  • modica89

    modica89

    24 HAZİRAN 2007
  • WhtButterflyLiz

    WhtButterfly

    14 NİSAN 2008