Del s[i:j:d] Удаление элементов среза из последовательности 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Del s[i:j:d] Удаление элементов среза из последовательности

Поиск

del s[i:j:d] Удаление элементов среза из последовательности

 

Некоторые методы для работы с последовательностями

 

В таблице приведен ряд методов изменчивых последовательностей(например,списков).

 

Метод

 

 

 

Описание

 

 

 

 

 

append(x)

 

Добавляет элемент в конец последовательности

 

 

 

 

 

count(x)

 

Считает количество элементов,равных x

 

 

 

 

 

extend(s)

 

Добавляет к концу последовательности последовательность 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и т.д..Отрицательные значения отсчитывают промежутки с конца строки.Для записи срезов используется следующий синтаксис:

 

последовательность[нач:кон:шаг]

 

где нач-промежуток начала среза,кон-конца среза,шаг-шаг.По умолчанию нач=0,кон=len(последовательность),шаг=1,если шаг не указан,второе двоеточие можно опустить.

 

А теперь пример работы со срезами:

>>> s = range(10)

>>> s

 

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> s[0:3] [0, 1, 2]

>>> s[-1:]

[9]

>>> s[::3] [0, 3, 6, 9]

>>> s[0:0] = [-1, -1, -1]

>>> s

 

[-1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

>>> del s[:3]

>>> s

 

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

Как видно из этого примера,с помощью срезов удобно задавать любую подстроку,даже если она нулевой длины,как для удаления элементов,так и для вставки в строго определенное место.

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 57; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.008 с.)