Списки
— это определенное количество элементов, которые имеют общее имя, и каждый элемент имеет свой порядковый номер (индекс) .
В них могут храниться объекты разного типа.
Как получить доступ к элементам списка
1. По индексу
Чтобы получить доступ к элементу списка, можно воспользоваться оператором индекса [ ].
my_list = ['п', 'р', 'о', 'б', 'а'] |
|
my_list = ['п', 'р', 'о', 'б', 'а'] |
|
my_list = ['п', 'р', 'о', 'б', 'а'] |
|
print(my_list[4.0]) | # Ошибка! Для индексации используются только целочисленные значения |
2. По отрицательному индексу
Python поддерживает отрицательные индексы в последовательностях. Индекс -1 указывает на последний элемент, -2 — на предпоследний и т. д.
Создание списков в 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] # список из значений и списка
2. Списки при помощи функции List()
empty_list = list() # пустой список
l = list ('spisok')
print(l)
Результат : ['s', 'p', 'i', 's', 'o', 'k']
3. Создание списка при помощи функции split()
Используя функцию split в Питон можно получить из строки список. Рассмотрим пример:
stroka ="Hello, world" # stroka - строка
lst=stroka.split(",") # lst - список
print (lst) # ['Hello', ' world']
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] |
Например:
pow2 = [2 ** x for x in range(10) if x >5]
print(pow2)
Результат: [64, 128, 256, 512]
odd = [x for x in range(20) if x % 2 == 1]
print(odd)
Результат: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
Случайные числа в списке
from random import randint
l = [randint(10,80) for x in range(10)]
# 10 чисел, сгенерированных случайным образом в диапазоне (10,80)
ПРОСТЕЙШИЕ ОПЕРАЦИИ НАД СПИСКАМИ
Списки можно складывать (конкатенировать) с помощью знака «+»:
l = [1, 3] + [4, 23] + [5] |
|
a=[33, -12, 'may'] | [33, -12, 'may', 21, 48.5, 33] |
Для списков операция переприсваивания значения отдельного элемента списка разрешена
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] |
|
Удаление элементов из списка
Один или несколько элементов списка можно удалить с помощью ключевого слова del.
С помощью него можно удалить и весь список.
Например:
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 |
Итерирование по списку
С помощью цикла for можно пройтись по каждому элементу в списке.
for fruit in ['яблоки','бананы','манго']:
print("Я люблю",fruit)
Результат:
Я люблю яблоки
Я люблю бананы
Я люблю манго
Как узнать длину списка?
В Питоне не нужно явно указывать размер списка или вручную выделять на него память. Длину списка можно узнать с помощью встроенной функции len:
names = ['Ivan', 'Marie', 'Peter', 'Max']
print (len(names)) # 4
Вывод списка
L=[]
L = [ int(input()) for i in range(5) ]
print (L)
Список можно выводить целым и поэлементно:
# вывод целого списка (массива)
print (L)
# поэлементный вывод списка (массива)
for i in range(5):
print ( L[i], end = " " )
Другие операции над списками при помощи функций
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']
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.