Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 13, 2017 08:26:30

PurplePenetrator
Зарегистрирован: 2017-04-13
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 3.0 Срезы списков

Драститя!!! Такая проблема. Прохожу тему Срезы списков ну и вижу такую схему. item… Тут то понятно что item-список start это начало среза, stop конец среза а вот что значит step?Объясните понятным языком. Сорян если тема уже была просто Я тут первый раз…

Копипаста Item - берёт срез от номера START, до STOP (не включая его), с шагом STEP. По умолчанию START = 0, STOP = длине объекта, STEP = 1. Соответственно, какие-нибудь (а возможно, и все) параметры могут быть опущены.

Офлайн

#2 Апрель 13, 2017 09:44:11

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Python 3.0 Срезы списков

а запустить интерпреторатор и самому посмореть как интерпретатор будет вести себя в той или иной ситуации?

 >>> a=[1,2,3,4,5,6,7,8,9,0]
>>> a[::1]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
 >>> a[::2]
[1, 3, 5, 7, 9]
 >>> a[::3]
[1, 4, 7, 0]
 >>> a[::4]
[1, 5, 9]
 >>> a[::5]
[1, 6]
>>>



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#3 Апрель 13, 2017 11:00:43

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9998
Репутация: +  857  -
Профиль   Отправить e-mail  

Python 3.0 Срезы списков

Здесь можешь прочитать про срезы (формулу
python.org. list

The slice of s from i to j with step k is defined as the sequence of items with index x =
i + n*k such that 0 <= n < (j-i)/k. In other words, the indices are i, i+k, i+2*k, i+3*k
and so on, stopping when j is reached (but never including j). When k is positive, i and j
are reduced to len(s) if they are greater. When k is negative, i and j are reduced to
len(s) - 1 if they are greater. If i or j are omitted or None, they become “end” values
(which end depends on the sign of k). Note, k cannot be zero. If k is None, it is treated
like 1.

Да и срезы можешь тренировать не на списках, а на строках.
  
>>> 'abcdef'
'abcdef'
>>> 'abcdef'[1:5:1]
'bcde'
>>> 'abcdef'[1:5:2]
'bd'
>>> 'abcdef'[1:5:-1]
''
>>> 'abcdef'[5:1:-1]
'fedc'
>>> 'abcdef'[5:1:-2]
'fd'
>>> 'abcdef'[::-1]
'fedcba'
>>> 'abcdef'[::-2]
'fdb'
>>>



Отредактировано py.user.next (Апрель 13, 2017 11:06:48)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version