SORU
27 Mayıs 2012, Pazar


Python liste üreteci içinde numaralandırma kullanarak

Böyle bir listesi var varsayalım sağlar:

mylist = ["a","b","c","d"]

Değerleri enumerate Python kullanabilirim indeksi ile birlikte yazılı olarak almak için böyle bir fonksiyon

>>> for i,j in enumerate(mylist):
...     print i,j
...
0 a
1 b
2 c
3 d
>>>

İçinde kullanmaya çalıştığımda şimdi, bir list comprehension bana bu hatayı veriyor

>>> [i,j for i,j in enumerate(mylist)]
  File "<stdin>", line 1
    [i,j for i,j in enumerate(mylist)]
           ^
SyntaxError: invalid syntax

Peki, sorum şu: liste üreteci içinde numaralandırma kullanmanın doğru yolu nedir?

CEVAP
27 Mayıs 2012, Pazar


Bunu deneyin:

[(i, j) for i, j in enumerate(mylist)]

Liste anlama çalışması için bir kayıt düzeni içinde i,j koymak gerekir. Alternatif olarak, enumerate() göz önüne alındığındazatendöndürür bir demet, doğrudan ilk açma olmadan iade edebilirsiniz:

[pair for pair in enumerate(mylist)]

Her iki şekilde de, evine döner. sonuç beklendiği gibi

> [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • LAHWF

    LAHWF

    5 Kasım 2009
  • tatermoog

    tatermoog

    2 AĞUSTOS 2006
  • theavettbrothers

    theavettbrot

    9 ŞUBAT 2007