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

  • circuschina

    circuschina

    16 Mart 2007
  • Joseph Hayhoe

    Joseph Hayho

    20 Mayıs 2010
  • stokelycalm

    stokelycalm

    28 Aralık 2010