2.28M
Категория: ПрограммированиеПрограммирование

Списъци в Python

1.

ЛЕКЦИЯ IV © 2023 Нет Ит
Списъци
В Python

2.

ЛЕКЦИЯ IV © 2023 Нет Ит
Линк към дискорд:
https://discord.gg/XYwrbHwscD

3.

Какво представляват списъците?
• Списъкът е един от най-важните структури от данни в Python.
Нарича се list.
• В други езици, той е познат като „масив“ и има подобни
характеристики.
• Списъкът е структура от данни, която е променлива (mutable),
подредена поредица от елементи.
• Mutable означава да можем да манипулираме данните на
списъкът, да ги променяме, а достъпването става чрез индекс.
• Първият елемент в списъкът винаги е на нулева позиция.
• Всеки елемент вътре в списъка се нарича елемент.
• Както стринговете са представени с кавички, то за списъците се
използват [].
• Както при стринговете всеки един елемент е позициониран на
определен индекс (позиция) и може да бъде достъпен чрез него.
• Списъците са познати още и като колекция от данни и позволяват
да се запазват данни от различни типове.

4.

Деклариране на лист от числа
Нека да създаден списък съдържащ числа, без да определяме
дали ще е списък само с цели или само с реални числа.
• Създаваме списък като всеки друг тип данни: отляво на знакът за
присвояване е името на променливата, а отдясно нейната
стойност. Разликата е, че стойността е множество от елементи
записани между скоби.

5.

Достъпване на елементите на
списъка
• За да получите достъп до конкретен елемент в списъка,
използвате индекс. Когато декларираме променливата на нашия
списък, всеки елемент получава индекс. Не забравяйте, че
индексирането в Python започва от нула и се използва със скоби.

6.

Деклариране на списък с различни
типове данни
• Списъците могат да съдържат данни от различен тип, дори и
други списъци. Нека да разгледаме следният пример:

7.

Списък в списъци
• Нека да разгледаме един малко по-сложен пример, как можем да
вложим списък в друг списък.

8.

Достъпване на елементите на
списък от списъци
• Сега ще видим как можем да получим достъп до елементите от
вътрешния списък. За достъп до елементите в списъка
обикновено използваме скоби и индекс. Когато този елемент е
друг списък, просто добавяме втори набор от скоби след първия
набор. Нека да разгледаме един пример:

9.

Промяна на елементи от списък
• Когато работите със списъци, трябва да можете да променяте
стойността на елементите в списъка. Това е като повторно
инициализиране на нормална променлива на различна стойност,
само, че имате достъп до елемента, чрез неговият индекс.

10.

Хранилище на променливи
• Когато променливите са декларирани, присвоената им стойност се
поставя на определено място в паметта. Това орпеделено място
има специфичен референтен идентификационен номер.
• Когато запазваме списък в паметта, всеки негов елемент си има
негово местоположение в паметта. Променяйки, стойността чрез
нейният индекс, се променя и стойността записана в паметта.

11.

Копиране на списък
• Как да създадем списък от вече съществуващ без да са свързани?
- Отговорът е като го копираме.
Забележка: Можете да използвате и методът .copy() за целта.

12.

Как да намерим дължината на
списък?
• Много често се случва да търсим колко елемента на брой се
съдържат в даден списък. За целта използваме вградената
функция len().
• Дължината на списъка от горният код е 3. Можем да използваме
функцията len() както за да проверим дали даден списък е празен
така и при for цикъл, в който имаме range() фунцкия.

13.

Slicing на списъци
• Slicing на списък е изрязване на част от елементите на списъка.
Подобна операция съществува и при стринговете. Slicing има
същите параметри както range функцията, а именно start, stop и
step:
• По подразбиране start e 0, a step e 1. Също така подобно на
стринговете и тук може да се използват индекси, които са със знак
-.

14.

Добавяне на елементи
• .append()
Функцията добавя това което е добавено между двете скоби в края
на списъка.
• .insert()
Вторият метод за добавяне на елементи към списък е .insert(). Този
метод изисква да се добави индекс като параметър и стойност.
Стойността ще бъде поставена в списъка спрямо въведеният индекс.

15.

Изтриване на елементи
• .pop()
Функцията премахва последният елемент в списъка. По принцип
може да се укаже и индекс като параметър. Ако има добавен индекс,
то елемента намиращ се на този индекс ще бъде изтрит. Този метод
често се използва за да съхрани изтритият елемент, тъй като
методът не го премахва изцяло, а го връща като резултат. В такъв
случай, този елемент може да бъде запазен в променлива, ако ще се
използва впоследствие.

16.

Изтриване на елементи (2)
• .remove()
Методът ни позволява да премахваме елементи от списъка, въз
основа на техните стойности.
• Използваме конструкцията try … except тъй като елемента
“soccer”може и да не е част от списъка, и ако не е тогава
програмата ще хвърли грешка.

17.

Работа със списъци от числа
• Python предоставя няколко функции, които можем да използваме
със списъци с числови данни, като min, max и sum. Има още
няколко, които можем да използваме, въпреки че те се използват
най-често:

18.

Сортиране на елементите на
списък
• Често се налага списъците да се сортират. Има много различни
методи за сортиране на списъци. Някои променят оригиналният
списък, докато други връщат копие на списъка.
• sorted()
Sorted() е функция, която работи както със списъци от числа, така и
с такива със стрингове, но не работи със списъци, които имат данни
от различни типове. Функцията връща копие на списъка, тоест тя не
променя оригиналният списък. Обикновено ако е необходимо да
запазите оригиналният списък използвайте тази функция.

19.

Сортиране на елементите на
списък
(2)
• .sort()
.sort() е метод и подобно на sorted() се използва за сортиране на
елементите на даден списък, като той променя оригиналният списък,
не създава копие.

20.

Условия и списъци
• Когато работите със списъци, често ще трябва да проверявате
дали съществуват стойности. Сега ще ви видим как да използваме
условни конструкции със списък.
• Използване на “in” и “not in” ключови думи
• Проверка за празен списък

21.

Цикли и списъци
• Използване на списък в for цикъл
• Използване на списък в while цикъл

22.

© 2023 Нет Ит
БЛАГОДАРЯ
ЗА ВНИМАНИЕТО!
English     Русский Правила