---
# System prepended metadata

title: Списки

---

# Списки

## Інфо

У цих прикладах `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 простих чисел.

## Перетворення числа у список цифр

Перетворити число у список його десяткових цифр.

## Алгоритм Луна

Банківські карточки та деякі номери, які людям треба час від часу набирати руками, мають захист від помилок. Людина легко може зробити помилку, і якщо кошти перейдуть кудись не туди --- ой біда.

Цей захист виглядає у вигляді додаткової цифри. Ця цифра генерується (або перевіряється) по алгоритму Луна.

### Генерація



### Перевірка