# Списки ## Інфо У цих прикладах `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 простих чисел. ## Перетворення числа у список цифр Перетворити число у список його десяткових цифр. ## Алгоритм Луна Банківські карточки та деякі номери, які людям треба час від часу набирати руками, мають захист від помилок. Людина легко може зробити помилку, і якщо кошти перейдуть кудись не туди --- ой біда. Цей захист виглядає у вигляді додаткової цифри. Ця цифра генерується (або перевіряється) по алгоритму Луна. ### Генерація ### Перевірка