# Списки
## Інфо
У цих прикладах `lst` --- це якийсь список.
:::info
"Повернути" означає "перетворити у". Наприклад, якщо команда отримує список на вхід та "повертає число", то насправді вона перетворює цей список на число.
:::
### Команди створення списків
- `lst = [...]` --- створення списку і присвоєння йому імені. Замість `...` треба написати елементи через кому
- `lst = list()` --- створити порожній список
- `lst = list(range(a,b))` --- створити список з чисел від `a` до `b - 1`
- `lst = random.choices(range(10), k=100)` --- створити список 100 випадкових чисел від 0 до 9
- `lst = st.split(" ")` --- розбити рядок `st` на слова (розділяє по пробілам). Замість `" "` можна використати якийсь інший рядок, наприклад `st.split(";")` буде розділяти по крапкам з комою
### Команди перетворення
- `len(lst)` --- повертає кількість елементів у списку
- `sum(lst)` --- повертає суму чисел у списку (працює тільки для чисел)
- `' '.join(lst)'` --- з'єднує список в один рядок, розділяючи елементи пробілом, і повертає цей рядок. Замість пробілу можна написати будь-що інше, наприклад `'; '.join(lst)'` з'єднає через крапку з комою та пробіл
- `lst1 + lst2` --- повертає об'єднаний список
- `sorted(lst)` --- повертає відсортований у порядку зростання список
- `lst * X` --- повертає новий список, в якому `lst` повторється X разів
### Команди перетворення з індексами
- `lst[x]` --- повертає x-тий елемент списку (рахуючи з нуля). Якщо індекс виходить за межі списку, то буде помилка
- `lst[-x]` --- повертає x-тий з кінця елемент списку
- `lst[a:b]` --- повертає новий список, який утворений з елементів індексів від `a` до `b`, не включаючи елемент з індексом `b`
- `lst[:b]` --- повертає новий список, який утворений з елементів індексів від `0` до `b`, не включаючи елемент з індексом `b`
- `lst[t:]` --- повертає новий список, який утворений з елементів індексів від `t` до кінця
- `lst[:]` --- повертає новий список, який є точною копією
- `lst[::-1]` --- повертає новий список, який складається з тих же елементів, тільки задом-наперед
### Команди зміни списку
- `lst[x] = b` --- записати в список по індексу `x` інший елемент `b`. Попередній елемент перезатреться
- `lst.append(x)` --- додати елемент `x` в кінець списку
- `lst.insert(X, a)` --- вставити в список елемент `a` в місце по індексу `X`, нічого не перезатреться
- `lst.pop(x)` --- викинути елемент з індексом `x` з списку, і повернути цей елемент. Якщо не вказувати параметр, то викине останній елемент
- `random.shuffle(lst)` --- переставити елементи в списку випадковим чином
- `sort(lst)` --- переставити елементи в списку по порядку
## Задачі
### Створення списків
Створіть кілька списків:
- список з курсів Біткойна за останній тиждень (тобто, має бути 7 елементів)
- список з назв ваших улюблених ігор
- список з квадратів чисел від -5 до 5
- список з 5 кольорів
- список з 5 черепашок
- список з 10 випадкових чисел від 1 до 6 (як на гральних кубиках)
### Сума чисел
Знайти суму чисел у списках, які ви створили раніше (за умови, що це списки з числами).
### Середнє арифметичне
Знайти середнє арифметичне у списках вище. Середнє арифметичне рахується як сума елементів поділити на їх кількість.
### Найбільший елемент
Отримати найбільший елемент списку. Використати такий алгоритм: посортувати список і витягнути останній елемент.
### Розбити на слова
Нехай є рядок
```py=
st = "old mcdonald had a farm"
```
Потрібно розбити цей рядок на слова.
### З'єднати букви
Нехай є список, наприклад
```py=
lst = ['n', 'a', 't', 'a', 's', 'h', 'a']
```
Потрібно з'єднати всі ці букви в один рядок (без пробілів).
### Заміна
Використовуючи дві попередні вправи, потрібно замінити пробіли на коми в рядку.
## Чи число просте?
Визначити чи число, яке написав юзер, просте. Тобто, ділиться націло тільки на 1 та на самого себе.
## Прості числа з першої 1000 чисел
Зробити список з усіх простих чисел, які менші ніж 1000.
## Перші 1000 простих чисел
Зробити список перших 1000 простих чисел.
## Перетворення числа у список цифр
Перетворити число у список його десяткових цифр.
## Алгоритм Луна
Банківські карточки та деякі номери, які людям треба час від часу набирати руками, мають захист від помилок. Людина легко може зробити помилку, і якщо кошти перейдуть кудись не туди --- ой біда.
Цей захист виглядає у вигляді додаткової цифри. Ця цифра генерується (або перевіряється) по алгоритму Луна.
### Генерація
### Перевірка