Как получить доступ к элементам списка
1. По индексу
Чтобы получить доступ к элементу списка, можно воспользоваться оператором индекса [ ].
my_list = ['п', 'р', 'о', 'б', 'а'] |
|
my_list = ['п', 'р', 'о', 'б', 'а'] |
|
my_list = ['п', 'р', 'о', 'б', 'а'] |
|
print(my_list[4.0]) | # Ошибка! Для индексации используются только целочисленные значения |
Создание списков в Python
1. Получение списка через присваивание конкретных значений
Так выглядит в коде Python пустой список: s = []
Примеры создания списков со значениями:
l = [25, 755, -40, 57, -41] # список целых чисел
l = [1.13, 5.34, 12.63, 4.6, 34.0, 12.8] # список из дробных чисел
l = [“Eva", "Sergei", "Ivan", "Dasha"] # список из строк
l = ["Москва", "Иванов", 12, 124] # смешанный список
l = [[0, 0, 0], [1, 0, 1], [1, 1, 0]] # список, состоящий из списков
l = ['s', 'p', ['isok'], 2] # список из значений и списка
4. Генераторы списков
В python создать список можно также при помощи генераторов.
Сложение одинаковых списков заменяется умножением:
# список из 10 элементов, заполненный единицами
l = [1]*10
# список l = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
- Представление списков —способ создать новый список из существующего.
Представление списков состоит из выражения, за которым следует оператор for, и эта конструкция заключается в квадратные скобки [].
l = [i for i in range(10)] | [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
c = [c * 3 for c in 'list'] |
|
Например, создадим список степеней двойки от 1 до 9. Используем для это представление списка
В представлениях списков может быть больше операторов for и if. Оператор if позволяет отфильтровать элементы для нового списка.
pow2 = [2 ** x for x in range(10)] | [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] |
Случайные числа в списке
from random import randint
l = [randint(10,80) for x in range(10)]
# 10 чисел, сгенерированных случайным образом в диапазоне (10,80)
Для списков операция переприсваивания значения отдельного элемента списка разрешена
a=[3, 2, 1] |
|
odd = [2, 4, 6, 8] |
|
Добавление элементов в список
Один элемент в список добавляется с помощью метода append(), а несколько — с помощью метода extend().
odd = [1, 3, 5] |
|
pow2 = [] |
|
odd = [1, 3, 5] |
|
С помощью метода insert (индекс, значение) можно вставить один элемент по данному индексу, а присвоив их пустому срезу — несколько.
odd = [1, 9] |
|
odd[2:2] = [5, 7] |
|
Например:
my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] |
|
my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] |
|
my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] | этот вызов приведет к ошибке - список не определен, т. к. мы удалили его |
Чтобы удалить элемент по значению, можно использовать метод remove(), а для удаления по индексу — метод pop().
Метод pop() удаляет и возвращает последний элемент из списка, если не указан индекс.
Это помогает применять списки как стек (структура данных, которая подчиняется принципу LIFO: «последним пришел — первым вышел»).
Для очистки списка используется метод clear().
Например:
my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] |
|
my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] | |
my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] |
|
my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] |
|
Проверка на вхождение элемента в список
С помощью ключевого слова in можно узнать, есть элемент в списке или нет.
my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] |
|
my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] | False |
my_list = ['п', 'р', 'o', 'б', 'л', 'е', 'м', 'а'] | True |
Как узнать длину списка?
В Питоне не нужно явно указывать размер списка или вручную выделять на него память. Длину списка можно узнать с помощью встроенной функции len:
names = ['Ivan', 'Marie', 'Peter', 'Max']
print (len(names)) # 4
Другие операции над списками при помощи функций
a=[1,7,3,88,33]
a.sort() #[1,3,7,33,88] - сортировка
a.reverse() #[88,33,7,3,1] - обратная сортировка
a.index(7) #2 - значение индексированного элемента
a.clear() # - очистка списка
len(a) # - длина списка
sum(a) # - суммирование элементов
Функция join() — соединение элементов через определенный символ:
lst=['11','22','33']
lst="-".join(lst)# '11-22-33‘
Функция split([sep]) — возвращает список подстрок, получающихся разбиением строки a разделителем sep:
str="1-2-3-4"
s1=str.split("-") # ['1','2','3','4']
© ООО «Знанио»
С вами с 2009 года.