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ş:
Nasıl rastgele bir liste Python kullan...
Python: liste üreteci ile bir sözlük o...
Liste Üreteci Vs Python. Göster...
Selenyum WebDriver içinde WebElement H...
Liste değerlerini değiştirmek Python k...