Documentation Blog Login SignUp
Menu
Telegram Twitter Instagram Zen
  • Установка Python
    • Установка Python на Linux
    • Установка Python на Windows
  • Виртуальное окружение
    • Виртуальное окружение
  • Типы данных
    • Типы данных в Python
    • Boolean
    • Numbers(Числа)
    • Strings(Строки)
    • Lists(Списки)
    • Tuple(Кортежи)
    • Dict(Словари)
    • Set(Множества)
  • Встроенные функции
    • Встроенные функции
    • Функции преобразования типов
    • abs( )
    • input( )
    • isinstance( )
    • len( )
    • range( )
    • sorted( )
    • type( )
  • Оператор if
    • Оператор if-elif-else

Списки и методы списков в Python

May 31, 2020 529 просмотров
Содержание #Немного теории #Срезы списка#Методы для работы со списками

 

Списки в Python

Список(list) в Python - это упорядоченная, изменяемая коллекция объектов разных типов. Т.е в список мы можем положить, всё, что угодно, числа, строки, кортежи, словари, коллекции, другие списки, значения которых могут повторяться, т.к списки в Python - не уникальны.

 

Синтаксис:

my_list = [] # Пустой список
my_list = list() # Пустой список

my_list = [4, 47, 0, 659] # Список заполненный объектами

my_list = [1, 'alex', 3, {2: 'age'}, (1, 2, 3)] # Список с разными объектами

 

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

 

Например список дел:

 

  • Выпить кофе
  • Изучить Python
  • Захватить мир
  • Купить хлеб

 

my_list = ['Выпить кофе', 'Изучить Python', 'Захватить мир', 'Купить хлеб']

 

Вы можете создать список используя встроенную функцию list( ) передав в неё итерируемый объект, например - строку.

 

my_list = list('python')
my_list = ['p', 'y', 't', 'h', 'o', 'n']

 

У каждого элемента в списке, есть свой индекс(номер) используя который, мы можем обратиться к элементу и выполнить с ним нужные действия. Индексы в списках, начинаются с 0, последний элемент имеет индекс -1, предпоследний -2 и т.д.

 

            0    1    2    3    4    5
my_list = ['p', 'y', 't', 'h', 'o', 'n']

my_list[0] == 'p'
my_list[1] == 'y'
my_list[2] == 't'
my_list[3] == 'h'
my_list[-2] == 'o'
my_list[-1] == 'n'

 

Чтобы узнать длину списка, т.е колличество символов в нём воспользуемся методом len(obj):

my_list = list('python')
len(my_list)
6

 

Чтобы добавить новый объект в список воспользуемся методом append(obj).

car_list = ['bmw', 'audi', 'toyota']

car_list.append('lada')
car_list = ['bmw', 'audi', 'toyota', 'lada']

 

Метод append(obj), добавляет новый объект в конец списка.

 

Срезы списка в Python

Срез списка - это извлечение одного или нескольких объектов. Срез имеет следущий синтаксис:

my_list[a:b]

 

a - это начальный индекс(счёт начинается с 0). 

b - конечный(счёт в списках заканчивается -1). 

b - индекс b, не попадает в список, т.е срез включает в себя объекты с a по b-1.

 

Если не передать значение a [:b] срез будет от начала и до индекса b-1, соответственно не передав b [a:], срез будет от a до конца списка.

 

car_list = ['bmw', 'audi', 'toyota', 'lada']

print(car_list[0:2])
['bmw', 'audi']

print(car_list[:])
['bmw', 'audi', 'toyota', 'lada']

print(car_list[2:])
['toyota', 'lada']

print(car_list[:-2])
['bmw', 'audi']

 

Методы для работы со списками в Python

len(list) - Возвращает длину списка, счёт начинается с 1.

car_list = ['bmw', 'audi', 'toyota']
len(car_list)
3

 

list.append(obj) - Добавляет объект в конец списка.

car_list.append('lada')
car_list = ['bmw', 'audi', 'toyota', 'lada']

 

list.insert(index, obj) - Добавляет объект на место указанного индекса.

car_list.insert(1, 'mercedes')
car_list = ['bmw', 'mercedes', 'audi', 'toyota', 'lada']

 

list.pop([index]) - Удаляет и возвращает из списка элемент с указанным index. Если ничего не передать, удалит и вернёт последний элемент в списке.

car_list = ['bmw', 'mercedes', 'audi', 'toyota', 'lada']
car_list.pop()
'lada'
car_list = ['bmw', 'mercedes', 'audi', 'toyota']

 

list.extend(list2) - Расширяет список list, добавляя в его конец элементы из списка list2.

car_list = ['bmw', 'mercedes', 'audi', 'toyota']
car_list2 = ['aston Martin', 'porshe']
car_list.extend(car_list2)
car_list = ['bmw', 'mercedes', 'audi', 'toyota', 'aston Martin', 'porshe']

 

list.remove(obj_name) - Удаляет элемент с переданным значением. Если в списке несколько элементов с одинаковым значением, удалит первый.

car_list = ['bmw', 'mercedes', 'audi', 'toyota', 'aston Martin', 'porshe']
car_list.remove('audi')
car_list = ['bmw', 'mercedes', 'toyota', 'aston Martin', 'porshe']

 

list.copy( ) - Копирует список.

car_list = ['bmw', 'mercedes', 'toyota', 'aston Martin', 'porshe']
new_car_list = car_list.copy()
new_car_list = ['bmw', 'mercedes', 'toyota', 'aston Martin', 'porshe']

 

list.count(obj_name) - Возвращает количество элементов со значением obj_name.

car_list = ['bmw', 'mercedes', 'toyota', 'aston Martin', 'porshe', 'toyota']
car_list.count('toyota')
2

 

list.index(obj_name) - Возвращает индекс элемента. Если в списке несколько одинаковых элементов - вернёт индекс первого попавшегося.

car_list = ['bmw', 'mercedes', 'aston Martin', 'porshe', 'toyota']
car_list.index('mercedes')
1

 

list.sort(key) - Сортирует список, на основе функции. Если ничего не передать, вернёт отсортированный список.

car_list = ['bmw', 'mercedes', 'aston Martin', 'porshe', 'toyota']
car_list.sort()
car_list = ['aston Martin', 'bmw', 'mercedes', 'porshe', 'toyota']

numbers_list = [9, 2, 4, 37, 0]
numbers_list.sort()
numbers_list = [0, 2, 4, 9, 37]


 

list.reverse( ) - Возвращает список в обратном порядке(переворачивает).

numbers_list = [0, 2, 4, 9, 37]
numbers_list.reverse()
numbers_list = [37, 9, 4, 2, 0]

 

min(list) - Вернёт минимальное значение из списка. 

numbers_list = [9, 2, 4, 37, 0]
min(numbers_list)
0

 

max(list) - Вернёт максимальное значение из списка.

numbers_list = [9, 2, 4, 37, 0]
max(numbers_list)
37

 

'param'.join(list) -  Склеивает объекты в списке по переданному параметру, если ничего не передать, склеит без пробелов и вернёт объект типа str(строку).

my_list = ['p', 'y', 't', 'h', 'o', 'n']
my_list = ''.join(my_list)
my_list = 'python'
type(my_list) = <class 'str'>

 

clear(list) - Очистит список.

numbers_list = [9, 2, 4, 37, 0]
number_list.clear()
number_list = []