Списки
Списки в Python
Список є об'єктом, який змінюється, в нього можна додавати елементи, видаляти їх, змінювати значення елементів.
Одним з різновидів списку є масив.
Різниця між масивом і списком: в масиві елементи одного типу, в списку елементи можуть бути різного типу даних.
Для зручності позначатимемо список lst.
Приклад списку: lst = [1, 2, 'один', 'два']
Списки як і масиви можуть бути одновимірні і багатовимірні.
Одновимірні списки. Списки можна створювати простим перерахуванням елементів у списку. Нумерація елементів списку починається з нуля.
Наприклад:
lst = [1, 2, 'один', 'два']
lst[0] = 1, lst[1] = 2, lst[2] = 'один', lst[3] = 'два'
Операції над списками
(всі операції перевіряємо в інтерактивному режимі IDLE Shell)
1. Виведення будь-якого елементу списку:
>>> lst =[3, -5, 10, 20, -8]
>>> lst[3]
20
2. Зміна значення елемента списку:
>>> lst =[3, -5, 10, 20, -8]
>>> lst[3] = 0
>>> lst
[3, -5, 10, 0, -8]
3. Значення можна присвоїти декільком спискам однакові:
>>> lst1 = lst2 =[3, 10, 20, -8]
>>>lst1, lst2
([3. 10, 20, -8], [3. 10, 20, -8])
4. Операція зрізу з списку, коли ми відділяємо певні елементи списку. Вказуємо назву списку[початок: кінець: крок]:
>>> lst =[3, -5, 10, 20, -8, 0, 1, 2]
>>> lst [1:3]
[-5, 10]
>>> lst[1:6]
[-5, 10, 20, -8, 0]
>>> lst[1:6:2]
[-5, 20, 0]
5. Об'єднання списків:
>>> lst1 = [0, 1, 2]
>>> lst2 = [3, 4, 5]
>>> lst1+lst2
[0, 1, 2, 3, 4, 5]
Функції опрацювання списків
(всі функції перевіримо в написанні коду,
кожна частинка коду перевірена в Python)
1. len() - довжина списку
lst = [0, 1, 2]
x = len(lst)
print(x)
Результат: 3
2. sample() - отримання списку з випадковими числами в заданому діапазоні. Містить наступну структуру:
random.sample(range(діапазон), кількість випадкових чисел)
import random
lst = random.sample(range(50), 5)
print(lst)
Результат: [24, 18, 17, 43, 49]
3. max() i min() - пошук найбільшого та найменшого елементів
lst = [24, 18, 17, 43, 49]
a = min(lst)
b = max(lst)
print('a=', a, 'b=', b)
Результат: a= 17 b= 49
4. choice() - вибір випадкового елемента із списку
import random
lst = [24, 18, 17, 43, 49]
x = random.choice(lst)
print('x=', x)
Результат: x= 24
5. list() - перетворює рядок у список
a = 'Україна'
lst1 = list(a)
print(lst1)
Результат: ['У', 'к', 'р', 'а', 'ї', 'н', 'а']
6. append(об'єкт) - додає об'єкт в кінець списку
lst = ['У', 'к', 'р', 'а', 'ї', 'н', 'а']
lst.append(20)
print(lst)
Результат: ['У', 'к', 'р', 'а', 'ї', 'н', 'а', 20]
7. extend() - додає кілька елементів в кінець списку
lst = ['У', 'к', 'р', 'а', 'ї', 'н', 'а']
lst.extend(['понад', 'усе'])
print(lst)
Результат: ['У', 'к', 'р', 'а', 'ї', 'н', 'а', 'понад', 'усе']
8. insert(індекс, об'єкт) - додає один об'єкт на вказану позицію в списку
lst1 = [0, 1, 2]
lst1.insert(2, 110)
print(lst1)
Результат: [0, 1, 110, 2]
Пам'ятаємо, що нумерація в списку починається з нуля (0, 1, 2, 3 ...).
9. pop(індекс) або del(індекс) - видаляє елемент у списку за його індексом
lst = [0, 1, 2, 5, 8, 7]
lst.pop(5)
print(lst)
Результат: [0, 1, 2, 5, 8]
10. remove(значення) - видаляє зі списку перший елемент, який містить таке значення.
lst = [0, 1, 2, 5, 8, 7]
lst.remove(2)
print(lst)
Результат: [0, 1, 5, 8, 7]
11. clear() - видаляє зі списку всі елементи.
lst = [0, 1, 2, 5, 8, 7]
lst.clear()
print('lst=', lst)
Результат: lst= [ ]
Пустий список відображається просто відкритою і закритою квадратними дужками.
12. index(значення, початок, кінець) - індекс елемента, який має вказане значення. Якщо не вказуємо початок і кінець, то використовується весь список для пошуку елемента.
lst = [0, 1, 2, 5, 8, 7]
x = lst.index(2, 3,5)
print(x)
Результат: ValueError: 2 is not in list
Тобто, значення елемента 2 на проміжку від 3 індексу до 5 немає.
Що ж буде, якщо ми пошукаємо значення 8 на тому ж проміжку?
lst = [0, 1, 2, 5, 8, 7]
x = lst.index(8, 3,5)
print(x)
Результат: 4
13. count(значення) - визначення кількості елементів за вказаним значенням, якщо елемент відсутній, повертається значення 0.
lst = [0, 1, 2, 5, 2, 8, 7, 2]
x = lst.count(2)
print(x)
Результат: 3
Якщо ми змінимо:
lst = [0, 1, 2, 5, 2, 8, 7, 2]
x = lst.count(10)
print(x)
Результат: 0
14. sort() - сортування елементів списку.
sort(key = None, reverse = False) - загальний вигляд сортування.
Якщо reverse = False - сортуємо за зростанням
Якщо reverse = True - сортуємо за спаданням
Старий список перетворюється на новий.
lst = [0, 1, 2, 5, 2, 8, 7, 2]
lst.sort()
print(lst)
Результат: [0, 1, 2, 2, 2, 5, 7, 8]
Відсортуємо у зворотному порядку:
lst = [0, 1, 2, 5, 2, 8, 7, 2]
lst.sort(reverse = True)
print(lst)
Результат: [8, 7, 5, 2, 2, 2, 1, 0]
15. sorted(список, reverse = False) - сортування списку із збереженням старого списку
Якщо reverse = False - сортуємо за зростанням
Якщо reverse = True - сортуємо за спаданням
lst = [0, 1, 2, 5, 2, 8, 7, 2]
x = sorted(lst, reverse = True)
print(x)
print(lst)
Результат: [8, 7, 5, 2, 2, 2, 1, 0]
[0, 1, 2, 5, 2, 8, 7, 2]
Багатовимірні списки
У багатовимірних списках група елементів береться у квадратні дужки і весь список міститься у квадратних дужках.
Наприклад:
lst = [[0,1,2], [3,4,5], [6,7,8]]
або можна записати в стовпчик:
lst = [
[0,1,2],
[3,4,5],
[6,7,8]]
Для виведення елемента списку потрібно вказати його індекси:
lst = [[0,1,2], [3,4,5], [6,7,8]]
print(lst[1][0])
Результат: 3
Тобто, в першому рядку нульовий елемент має значення 3.
Пам'ятаємо, що індекси починаються з нуля. Тобто перший рядок це [3,4,5], а нульовий елемент у цьому рядку 3.
При побудові виведення елементу списку ми вказуємо лише дві величини - номер (індекс) рядка і номер (індекс) елемента.
Запитання для самоперевірки:
1. Що називають списком?
- це сукупність елементів до 10 значень
- це сукупність елементів будь-якого типу у круглих дужках, розділених комою.
- це сукупність елементів будь-якого типу у квадратних дужках, розділених комою.
2. Чи можна змінити значення елемента списку?
- Ні, це фіксований набір значень.
- Так, можна змінити будь-який елемент списку.
- Так, можна змінити один елемент у списку.
3. Як здійснюється об'єднання списків?
- Це операція +
- Це операція U
- Списки не можна об'єднувати.
4. Для чого слугують методи append() i remove()?
- append() додає один елемент в кінець списку, remove() видаляє вказане значення з списку.
- append() додає один елемент в кінець списку, remove() видаляє одне значення з списку.
- append() додає один елемент в початок списку, remove() видаляє вказане значення з списку.
5. Поясніть сутність методу insert().
- insert( індекс, об'єкт) додає всі об'єкти у вказану позицію списку.
- insert( індекс, об'єкт) додає один об'єкт у вказану позицію списку.
- insert( індекс, об'єкт) додає об'єкт в кінець списку.
6. За допомогою яких методів виконується сортування елементів списку?
- print()
- sort()
- reverse
- sorted()
7. Поясніть порядок створення 10 елементного списку випадкових чисел від 5 до 50.
- import random
random(5, 50)
- import random
random(50, 10)
- import random
random.sample(range(5, 50), 10)
Коментарі
Дописати коментар