Операции со списками Python на примерах

Список в Python – это набор данных, независимо от используемого в них типа. Это могут быть строки, числовые значения (как целые, так и с плавающей точкой). Они необходимы, чтобы хранить большое количество информации. Очень популярное их название – динамические массивы данных. Динамические, потому что над ними можно полноценно работать, их изменять, менять элементы местами, работать с ними, как отдельными переменными.

Сегодня мы более подробно поговорим о том, какие функции выполняют списки, что необходимо для их создания, какие операции с ними можно совершать. Надо сказать, что многие аспекты работы с ними интуитивно понятны. Поэтому разобраться в этом не составит никакого труда.

Как создать список Python?

Следует сразу сказать, что массив и список в терминологии Python несколько отличается. Под массивом подразумевается набор данных одинакового типа, в то время как списки могут хранить самые разные типы информации. Помимо всего прочего, списки не требуют того, чтобы их дополнительно объявляли. Все это очень удобно.

Это вообще не сложно. Достаточно записать нашу последовательность данных, как указано здесь:

my_list = [1, 2, 3, 4, 5]

Поскольку информация может быть в любом формате, то наш список может иметь и такой вид.

my_list = [‘один’, ‘два’, ‘три’, ‘четыре’, ‘пять’]

В одном объекте возможна запись сразу нескольких типов данных.

my_list = [‘один’, 10, 2.25, [5, 15], ‘пять’]

Видим, что тут мы указали не только текст и цифры, но и другие списки. То есть, возможна запись абсолютно любых типов данных, которые придут в голову. 

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

Здесь все точно так же, как и в строках. Индексы начинаются нулем, а каждый следующий увеличивается на единицу.

Как изменить список?

Списки, как и многие другие объекты, можно изменять. Например, возможно редактирование самих элементов или же изменение их порядка. 

Предположим, у нас есть следующий список:

my_list = [‘один’, ‘два’, ‘три’, ‘четыре’, ‘пять’]

Допустим, нам надо слово «три» заменить на «ноль». В этом случае необходимо соответствующему элементу (как его вызвать средствами Python, мы уже разобрались), присвоить нужное нам значение. Делается это стандартным образом, как и с любыми другими переменными.

my_list[2]  =  ‘ноль’

При выводе объекта, после редактирования нами, в консоль, он отобразится таким образом.

[‘один’, ‘два’, ‘ноль’, ‘четыре’, ‘пять’]

При условии, что индекс являет собой значение со знаком «минус», то, соответственно, отсчет будет осуществляться, начиная последним элементом. То есть, принцип такой же, как и в других объектах, содержащих большой массив определенной информации. 

Проход по списку (итерация)

Чтобы выполнить чтение объектов, входящих в этот перечень, необходимо применить такой шаблон с использованием цикла.

my_list = [‘один’, ‘два’, ‘три’, ‘четыре’, ‘пять’]

for elem in my_list:

    print(elem)

Вообще, в Python цикл for используется для перебора любых элементов.

С ним возможно не только лишь чтение составляющих списка, но и редактирование их в соответствии с тем. Например, можно каждое последующее число увеличить на 5.

Делается это с использованием следующего кода, например. Вам нужно подставить подходящие числа в этот шаблон.

my_list = [1, 2, 3, 4, 5]

for i in range(len(my_list)):

    my_list[i]+=5

    print(my_list)

После того, как мы запустим этот код, в консоль будут выведены цифры 6,7,8,9,10, поскольку каждое значение исходного списка увеличится на 5.

Чтобы вернуть общее число элементов, применяется функция len(). Она определяет, какая длительность этого списка всего. А чтобы получить список индексов, необходимо использовать функцию range().

Важно учитывать, что вложенный список считается, как один элемент. И здесь нет разницы, сколько элементов в него входит. Ведь все в Python – это объект, помним про это.

Срез списка Python

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

Чтобы это сделать, необходимо воспользоваться символом : в индексе.

my_list = [‘один’, ‘два’, ‘три’, ‘четыре’, ‘пять’]

print(my_list[1:3])

Тут случае будет возвращено значение со словами «два» и «три».Возможно еще оставить либо первое число среза, либо последнее. В первом случае программист задает, с какого места стартует то или иное значение. Во втором же задается конец среза. Еще можно оставить только двоеточие. Но это тождественно выводу всех частей списка в консоль.Разработчик может редактировать списки, и поэтому также реальна замена компонентов через оператор среза.

my_list = [‘один’, ‘два’, ‘три’, ‘четыре’, ‘пять’]

my_list[1:3]  =  [‘Привет’,  ‘Мир’]

print(my_list)

Вставка в список

Для добавления дополнительных объектов к списку используется функция insert. Она содержит два обязательных аргумента: индекс, соответствующий позиции, куда дополнительный элемент будет вставляться и содержимое этого элемента.

list4.insert(5,’Теперь здесь будет элемент №6′)

Добавление элемента в список

Если же нужно добавить элемент не на конкретное место, а в самый конец, то используется метод append().

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

example.append(‘шесть’)

Это же позволяет добавлять сразу несколько элементов. Для этого необходимо в качестве аргумента функции использовать список, который уже хранится в переменной или передается непосредственно в скобках.

example_list  =  [‘десять’,  ‘одиннадцать’]

example.extend(example_list)

Видим, что здесь мы использовали функцию extend.

Сортировка списка

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

names_2.sort()

Сортировка осуществляется или по возрастанию, или в алфавитном порядке.

Как перевернуть список Python?

Для достижения этой задачи используется метод reverse.

list_23.reverse()

После этого все символы будут идти в противоположном направлении. Первый символ станет последний, последний – первым. Предпоследний – вторым, и так далее.

Индекс элемента списка

Время от времени нам нужно не найти элемент по индексу, а совершить полностью противоположную операцию. В этом случае нам необходимо использовать специализированный метод index, который принимает в качестве аргумента тот значение, индекс которого нам требуется найти.

Синтаксис очень простой.

print(list_5.index(‘три’))

Здесь у некоторых может появиться вопрос: а что, если есть несколько одинаковых значений? Какой индекс будет возвращен в этом случае? Ответ – первый.

Как удалить элемент из списка Python?

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

Следовательно, если вам нужно убрать из списка исключительно тот элемент, которым он завершается, то не нужно искать его индекс, достаточно просто использовать функцию pop() без аргументов. Если же нужен конкретный элемент, то используется его цифровое обозначение.

code_example = my_gfgg.pop(6)

Также для этих целей можно использовать функции remove и del, которые имеют схожее назначение. В качестве аргумента метода remove используется значение списка, которое требуется удалить. А в качестве аргумента метода del используется его индекс.

Также можно использовать срезы для того, чтобы удалить сразу несколько объектов.

del my_list[1:3]

Функции агрегации

Агрегация – это объединение элементов. Наиболее популярная из функций, которая используется для складывания числовых элементов списка – это sum. Она, как и все остальные агрегатные функции, в качестве аргумента принимает сам список или переменную, которая его содержит. 

sum() может использоваться исключительно вместе с числами, в то время как все остальные могут работать со строчным типом данных также.

Сравнение списков

Во второй версии Python сравнение списков осуществляется следующим образом.

cmp(my_list,list_2)

Видим, что в качестве аргумента используются списки, которые необходимо сравнивать. Если они одинаковые, то возвращается 1, если нет – -1.

В третьей же версии этого языка для сравнения списков осуществляется с помощью оператора ==, который возвращает True, если списки одинаковые и False – если нет.

Математические операции на списках Python

Те арифметические операторы, которые используются для сложения и умножения чисел, могут применяться и для совершения операций со списками. Например, с помощью оператор + можно объединить несколько маленьких списков в один большой. С его помощью первый список увеличится на количество элементов, которые есть во втором списке. Они будут просто добавлены к нему в самый конец.

print(list_15 + list_20)

Умножение же позволяет создать определенное количество повторений содержимого этого списка.

print(list_14  *  2)

Списки и строки

Для работы со списками и строками используются функции list и split. Первая используется для разбивки содержимого строк в списке на отдельные знаки. Вторая – на слова. Обе функции в качестве аргумента принимают список, содержащий строковые значения.

Объединить список в строку

Это делается с помощью метода join(). В качестве аргумента принимается нужный список. 

Алиасинг (псевдонимы)

Это возможность, которая не рекомендуется для использования. Алиасинг – это когда на один и тот же объект ссылается несколько переменных. Так делать не стоит, поскольку это сильно запутывает программу.

ОфисГуру
Adblock
detector