SORU
10 EYLÜL 2009, PERŞEMBE


Pythonic her n iadesi listesine yolu'inci madde daha geniş bir listesi

1000 sıfırdan numaraları listesi. Pythonic/verimli bir şekilde ilk listesi ve sonraki her 10. madde üretmek için var mı? yani. [0, 10, 20, 30 ...]

Evet bu döngü için kullanarak yapabilirim ama bu, belki de bir çizgi yapmak için daha güzel bir yol olup olmadığını merak ediyorum?

CEVAP
10 EYLÜL 2009, PERŞEMBE


>>> l = range(165)
>>> l[0::10]
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160]

EDİT: sadece eğlence olsun diye, küçük bir zamanlama karşılaştırma (sınır durumu görmezden gelerek):

$ python -m timeit -s "l = range(1000)" "l1 = [x for x in l if x % 10 == 0]"
1000 loops, best of 3: 525 usec per loop
$ python -m timeit -s "l = range(1000)" "l1 = l[0::10]"
100000 loops, best of 3: 4.02 usec per loop

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • aki6336

    aki6336

    14 AĞUSTOS 2008
  • Call Me Howard

    Call Me Howa

    18 AĞUSTOS 2012
  • MrExcite96

    MrExcite96

    17 ŞUBAT 2011