rvitinn

Slice tekur rj parametra

Allir sem hafa forrita Python ekkja hvernig hgt er a klippa lista.

[1,2,3,4][1:] skilar [2,3,4]
[1,2,3,4][:-1]->[1,2,3]
[1,2,3,4][1:-1]->[2,3]

a sem g vissi ekki fyrr en rtt essu, vegna ess a g asnaist til a lesa python skjlunina taf allt ru falli, er a slice tekur rija parameterinn step. annig a:

[1,2,3,4,5,6][::2] skilar [1, 3, 5]
[1,2,3,4,5,6][1::2]->[2, 4, 6]
[1,2,3,4,5,6][1:-1:2]->[2, 4]

Mnus tlur sna lista:
[1,2,3][::-1] skilar [3, 2, 1]
[1,2,3,4,5,6][::-2]->[6, 4, 2]

etta finnst mr gott dmi um a hva g er stundum seinn a fatta. g veit ekki hvort g hefi urft a nota etta oft en a er gaman a vita af essu.

Svo hef g lka afskaplega gaman a v a skrifa bloggfrslur sem fara fyrir ofan gar og nean hj flestum sem slysast hinga inn.

python
Athugasemdir

teitur - 01/04/09 16:30 #

etta var n aldeilis frlegt og gott a vita.

Matti - 02/04/09 08:28 #

etta er rugglega a gfulegasta sem g hef skrifa etta blogg langan tma.

Erlendur - 03/04/09 01:16 #

etta er reyndar fdus sem g hef nota nokku Python og Matlab. En a er alltaf gaman a komast a svona smhlutum.

Matti - 03/04/09 16:00 #

sem g hef nota nokku Python og Matlab

Enda kemur essi ftus Python gegnum Numpy lii sem vntanlega hefur nota hann Matlab.

Eggert - 03/04/09 16:39 #

Numpy er einmitt me fleiri slice tilbrigi, eins og a geta nota ... sem slice, og n-staka index, ar sem hvert stak getur veri slice:

>>> a = numpy.arange(100)
>>> a.shape = 2,5,10
>>> a[1,...,::-4]
array([[59, 55, 51],
       [69, 65, 61],
       [79, 75, 71],
       [89, 85, 81],
       [99, 95, 91]])