Синтаксис | Семантика |
---|
>len(s) | Длина последовательности >s |
>x in s | Проверка принадлежности элемента последовательности. В новых версиях Python можно проверять принадлежность подстроки строке. Возвращает >True или >False |
>x not in s | >= not x in s |
>s + s1 | Конкатенация последовательностей |
>s*n или >n*s | Последовательность из >n раз повторенной >s . Если >n < 0 , возвращается пустая последовательность. |
>s[i] | Возвращает >i –й элемент >s или >len(s)+i –й, если >i < 0 |
>s[i:j:d] | Срез из последовательности >s от >i до >j с шагом >d будет рассматриваться ниже |
>min(s) | Наименьший элемент >s |
>max(s) | Наибольший элемент >s |
Дополнительные конструкции для изменчивых последовательностей:
>s[i] = x | >i –й элемент списка >s заменяется на >x |
>s[i:j:d] = t | Срез от >i до >j (с шагом >d ) заменяется на (список) >t |
>del s[i:j:d] | Удаление элементов среза из последовательности |
Некоторые методы для работы с последовательностями
В таблице приведен ряд методов изменчивых последовательностей (например, списков).
Метод | Описание |
---|
>append(x) | Добавляет элемент в конец последовательности |
>count(x) | Считает количество элементов, равных >x |
>extend(s) | Добавляет к концу последовательности >последовательность |
>index(x) | Возвращает наименьшее >i , такое, что >s[i] == x . Возбуждает исключение >ValueError , если >x не найден в >s |
>insert(i, x) | Вставляет элемент >x в >i –й промежуток |
>pop(i) | Возвращает >i –й элемент, удаляя его из последовательности |
>reverse() | Меняет порядок элементов >s на обратный |
>sort([cmpfunc]) | Сортирует элементы >s . Может быть указана своя функция сравнения >cmpfunc |
Взятие элемента по индексу и срезы
Здесь же следует сказать несколько слов об индексировании последовательностей и выделении подстрок (и вообще — подпоследовательностей) по индексам. Для получения отдельного элемента последовательности используются квадратные скобки, в которых стоит выражение, дающее индекс. Индексы последовательностей в Python начинаются с нуля. Отрицательные индексы служат для отсчета элементов с конца последовательности (>-1
— последний элемент). Пример проясняет дело:
>>>> s = [0, 1, 2, 3, 4]
>>>> print s[0], s[-1], s[3]
>0 4 3
>>>> s[2] = -2
>>>> print s
>[0, 1, -2, 3, 4]
>>>> del s[2]
>>>> print s
>[0, 1, 3, 4]
Примечание:
Удалять элементы можно только из изменчивых последовательностей и желательно не делать этого внутри цикла по последовательности.
Несколько интереснее обстоят дела со срезами. Дело в том, что в Python при взятии среза последовательности принято нумеровать не элементы, а промежутки между ними. Поначалу это кажется необычным, тем не менее, очень удобно для указания произвольных срезов. Перед нулевым (по индексу) элементом последовательности промежуток имеет номер 0, после него — 1 и т.д.. Отрицательные значения отсчитывают промежутки с конца строки. Для записи срезов используется следующий синтаксис: