0% нашли этот документ полезным (0 голосов)
3 просмотров16 страниц

Python d6

Документ описывает практикум по Python, сосредоточенный на списках, их методах и применении. Включает объяснения создания списков, работы с методами, такими как append(), remove(), split() и join(), а также использование функции range и enumerate. Также рассматриваются примеры задач, демонстрирующие использование списков в реальных сценариях программирования.

Загружено:

Sergey Ivanov
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
3 просмотров16 страниц

Python d6

Документ описывает практикум по Python, сосредоточенный на списках, их методах и применении. Включает объяснения создания списков, работы с методами, такими как append(), remove(), split() и join(), а также использование функции range и enumerate. Также рассматриваются примеры задач, демонстрирующие использование списков в реальных сценариях программирования.

Загружено:

Sergey Ivanov
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd

День №6

Содержание Python практикум. С нуля до автоматизатора

Сегодня 🌞
6.0 Знакомство со списками
Что такое список? Коллекция данных. Упорядоченная. Изменяемая
Объяснение синтаксиса создания списков в Python с использованием квадратных скобок []
Обращение к элементу списка по индексу
Мы можем переписать элемент списка по индексу. Демонстрация.
Показываем аналогичный код в строке - будет ошибка. Список изменяем. Строка неизменяема.
Список может содержать в себе любые эелменты, в т.ч. вложенные списки (показываем список в
котором числа, строки, булев тип, вложенные списки)
У список тоже есть срезы, они полностью аналогичны строковым

6.1 Знакомство с методами списков


У списков, как и у строк есть методы
Сводная таблица всех методов списков с их описанием
Иллюстрация различных методов для добавления элементов в список, включая append() , insert() ,
extend() с примерами кода
Объяснение методов для удаления элементов из списка, таких как remove() , pop() , del . с
примерами кода

6.2 Методы - братья split() и ()join


Знакомство с методами split() и ()join
Иллюстрация различных методов их использования на примере популярных случаев, когда они нужны.
Подробные примеры кода и разборы нескольких наглядных кейсов

6.3 Функция Range и Enumerate


Что такое Range и для чего она применяется
Синтаксис Range на примере с циклом for
Пример перебора списка через обращение к i элементу списка, используя for i in range(len(list))
Пояснение когда надо отнимать от индекса 1 а когда не надо
Что такое Enumerate и для чего она применяется
Синтаксис Enumerate на примере с циклом for
Отображение нумерованного списка начиная с 1
Пример создания меню "выберите из списка"

6.4 Картавая задачка 2


В прошлый раз, мы написали её используя строки. Давайте улучшим эту задачку!
Просим пользователя ввести слова через пробел применяем метод lower
Делаем сплит по пробелу, явно передав разделитель в метод (рассказываем, что туда можно
передать любое значение)
Объявляем пустой список "плохих слов"
Объявляем цикл в котором проходимся по пользовательскому вводу и проверяем слова содержащие
букву р
Если такие находим, добавляем их все в список плохих слов
Делаем условие ЕСЛИ СПИСОК ПЛОХИХ СЛОВ - печатаем что обнаружили плохие слова
ИНАЧЕ печатаем что плохих слов не найдено
Пояснение, что пустой список, пустая строка так же возвращают False

6.5 Задачка список продуктов. For Range и списки


Давайте решим такую задачку. Компьютер спрашивает у пользователя, сколько продуктов он может
унести из магазина
Получаем число. Превращаем в целочисленное
Объявляем пустой список - шоплист
Объявляем цикл For в котором число итераций будет range равный длиной пользовательскому вводу.
На каждой итерации просим ввести пользователя новый продукт, применяем lower()
Делаем проверку - есть ли такой продукт в списке, т.к. список может содержать в себе дубликаты!
Если есть - пишем что уже такой продукт есть
Если нет - добавляем методом append
Таким образом мы получаем коллекцию уникальных элементов

6.6 Примеры, где лучше использовать списки


Представление ситуаций, где использование списков является удобным и эффективным подходом,
особенно в контексте парсинга данных.
Иллюстрация, как списки могут быть использованы для хранения и обработки больших объемов
данных, таких как списки URL-адресов, названий файлов или других структурированных данных.

6.7 Кортеж - брат-близнец списка


Описание типа данных кортеж
Рассказ о его характеристиках
Сводная таблица ВСЕХ методов картежа с их описанием
Примеры популярных кейсов использования кортежей
Рассказ о том, что когда мы пишем что-то через запятую, мы делаем картеж, поэтому важно флоат
тип данных записывать через точку - иначе можем получить переменную с кортежем

📋 6.0 Знакомство со списками


В этой статье мы поговорим о такой важной структуре данных в языке программирования Python, как
список. Список - это упорядоченная коллекция данных, которую мы можем изменять.

💡 Что такое список?


Список (list) в Python - это упорядоченная, изменяемая коллекция объектов, которая может содержать
элементы разных типов данных. Списки являются изменяемыми (mutable) объектами, что означает, что
вы можете добавлять, удалять и изменять элементы внутри списка после его создания.

Тип данных: Список - это встроенный тип данных в Python.

Хранение элементов: Элементы списка хранятся последовательно в памяти компьютера, и каждый элемент
списка имеет свой индекс (позицию) в списке. Индексы начинаются с 0 для первого элемента, 1 для
второго и так далее.

Ссылки: В Python списки хранятся как ссылки на объекты, а не как сами объекты. Это означает, что
когда вы присваиваете один список другой переменной, вы создаете новую ссылку на тот же список, а
не создаете его копию. Это может привести к неожиданным результатам при изменении списка через одну
из переменных, так как изменения будут видны через все переменные, указывающие на этот список.

🛠️ Создание списков
Чтобы создать список в Python, мы используем квадратные скобки [] . Внутри скобок перечисляем
элементы списка через запятую. Например, вот как мы можем создать список с числами:

numbers = [1, 2, 3, 4, 5]

Также, список может содержать элементы разных типов данных, включая строки, числа, булевый тип и
даже другие списки:

mixed_list = [1, "hello", True, [7, 8, 9]]


🔍 Обращение к элементам списка
Мы можем обратиться к элементу списка по его индексу. Индексы начинаются с 0 для первого элемента
списка. Например, чтобы получить доступ к первому элементу списка numbers , мы можем написать:

first_number = numbers[0]

Результат этой операции будет равен 1 . Также мы можем изменить значение элемента списка, просто
присвоив новое значение по индексу. Например, чтобы изменить второй элемент списка numbers на 10 ,
мы можем написать:

numbers[1] = 10

Теперь список numbers будет иметь следующий вид: [1, 10, 3, 4, 5] .

🚫 Неизменяемость строк и изменяемость списков


Одним из ключевых отличий списков от строк в Python является их изменяемость. Мы можем изменять
значения элементов списка, в то время как строки являются неизменяемыми объектами. Попробуем
изменить один из символов строки:

string = "Hello"
string[0] = "J" # Будет ошибка!

В этом примере получим ошибку, потому что мы не можем изменять значения символов строки. Но если мы
попытаемся изменить элемент списка, то не получим ошибку.

📜 Срезы списков
Как и строки, списки в Python поддерживают операцию среза. Мы можем получить подсписок из списка,
указав начальный и конечный индексы. Например, чтобы получить первые три элемента списка numbers ,
мы можем написать:

sublist = numbers[0:3]

Результат будет равен [1, 10, 3] . Также мы можем использовать отрицательные индексы для
обращения к элементам с конца списка. Например, чтобы получить последний элемент списка numbers ,
можно написать:

last_number = numbers[-1]

В этом случае результат будет равен 5 .

Информация для знатоков ⭐


Поверхностная копия (shallow copy) и полная копия (deep copy) представляют два разных способа
копирования объектов в Python, и они отличаются в том, как они обрабатывают вложенные объекты.

1. Поверхностная копия (Shallow Copy):


При создании поверхностной копии, только сам объект (контейнер) копируется, а вложенные
объекты внутри него остаются общими для оригинала и копии.
Если изменить вложенный объект в оригинале, это изменение также будет видно в копии и
наоборот.
Создание поверхностной копии можно выполнить с помощью метода copy() или с помощью среза
[:] (например, new_list = old_list.copy() или new_list = old_list[:] ).
2. Полная копия (Deep Copy):
При создании полной копии, копируются и сам объект, и все его вложенные объекты, рекурсивно.
Полная копия создает независимую копию всех данных, включая вложенные объекты, и изменения
в оригинале не влияют на копию и наоборот.
Для создания полной копии объекта можно использовать библиотеку copy и метод deepcopy()
(например, import copy и new_obj = [Link](old_obj) ).

Когда использовать поверхностную копию:

Если вам нужно быстро создать копию объекта, и вы уверены, что вложенные объекты не будут
изменяться.
Если вложенные объекты не имеют вложенных объектов сами по себе (то есть, они не рекурсивны).

Когда использовать полную копию:

Если вам нужно гарантировать, что изменения в оригинале не повлияют на копию и наоборот.
Если вложенные объекты также могут содержать вложенные объекты, и вы хотите скопировать их
всех.
Если вы работаете с данными, которые необходимо глубоко скопировать, чтобы избежать
совместного использования вложенных данных между оригиналом и копией.

📝 6.1 Знакомство с методами списков


Списки - это одна из наиболее универсальных и широко используемых структур данных в Python. Они
позволяют хранить и организовывать коллекции элементов. Как и у строк, у списков есть набор методов,
которые облегчают их использование и манипуляции. В этой статье мы рассмотрим основные методы
списков и их применение.

Вот сводная таблица основных методов списков (list) в Python, включая их краткое описание:

Метод Описание

append(item) Добавляет элемент item в конец списка.

extend(iterable) Расширяет список, добавляя элементы из итерируемого объекта iterable в конец списка.

insert(index,
Вставляет элемент item в список на позицию index .
item)

remove(item) Удаляет первое вхождение элемента item из списка.

Удаляет элемент из списка по индексу index и возвращает его значение. Если index не
pop(index)
указан, удаляется и возвращается последний элемент.

Возвращает индекс (позицию) первого вхождения элемента item в списке. Если элемент не
index(item)
найден, возникает ошибка ValueError.

count(item) Возвращает количество вхождений элемента item в список.

sort() Сортирует элементы списка в порядке возрастания.

sort(reverse=True) Сортирует элементы списка в порядке убывания.

reverse() Изменяет порядок элементов списка на обратный.

copy() Создает копию списка. Можно также использовать срез list[:] для создания копии.

clear() Удаляет все элементы из списка, делая его пустым.

len() Возвращает количество элементов в списке.

1. 🧩 Методы списков
Python предоставляет разнообразные методы, которые позволяют выполнять различные операции с
элементами списков. Некоторые из наиболее популярных методов включают:

append() : добавляет элемент в конец списка.


insert() : вставляет элемент на указанную позицию в списке.
extend() : добавляет элементы другого списка в конец текущего списка.
remove() : удаляет первое вхождение указанного элемента из списка.
pop() : удаляет и возвращает последний элемент списка или элемент по указанному индексу.
del : удаляет элемент по указанному индексу либо удаляет весь список.

2. 📋 Добавление элементов в список


2.1 🧹 Метод append()
Метод append() позволяет добавлять элементы в конец списка. Пример использования:

numbers = [1, 2, 3, 4]
[Link](5)
print(numbers) # [1, 2, 3, 4, 5]

2.2 🚪 Метод insert()


Метод insert() позволяет вставлять элементы на указанную позицию в списке. Пример использования:

fruits = ['apple', 'banana', 'orange']


[Link](1, 'grape')
print(fruits) # ['apple', 'grape', 'banana', 'orange']

2.3 🌐 Метод extend()


Метод extend() позволяет добавлять элементы другого списка в конец текущего списка. Пример
использования:

even_numbers = [2, 4, 6]
odd_numbers = [1, 3, 5]
even_numbers.extend(odd_numbers)
print(even_numbers) # [2, 4, 6, 1, 3, 5]

3. 🗑 Удаление элементов из списка


3.1 🧹 Метод remove()
Метод remove() удаляет первое вхождение указанного элемента из списка. Пример использования:

colors = ['red', 'green', 'blue', 'green', 'yellow']


[Link]('green')
print(colors) # ['red', 'blue', 'green', 'yellow']

3.2 🚀 Метод pop()


Метод pop() удаляет и возвращает последний элемент списка, если не указан индекс. Можно также
указать индекс элемента, который нужно удалить и вернуть. Пример использования:

fruits = ['apple', 'banana', 'orange']


removed_fruit = [Link]()
print(fruits) # ['apple', 'banana']
print(removed_fruit) # 'orange'

numbers = [1, 2, 3, 4]
removed_number = [Link](2)
print(numbers) # [1, 2, 4]
print(removed_number) # 3

3.3 🧨 Оператор del


Оператор del удаляет элемент по указанному индексу или удаляет весь список. Пример использования:

fruits = ['apple', 'banana', 'orange']


del fruits[1]
print(fruits) # ['apple', 'orange']
numbers = [1, 2, 3, 4]
del numbers # удаляет весь список

4. 💡 Заключение
В этой статье мы кратко рассмотрели некоторые из основных методов списков в Python. Использование
методов позволяет легко добавлять и удалять элементы из списка, делая его более гибким и удобным в
использовании. Обязательно экспериментируйте с ними и применяйте в своих проектах. Удачи с
программированием на Python!

📚 6.2 Методы - братья split() и join()


В данной статье мы познакомимся с двумя полезными методами - split() и join() , которые являются
незаменимыми инструментами при работе с текстовыми данными в языке программирования Python.

1️⃣ Знакомство с методами split() и join()


Метод split() предназначен для разделения строки на подстроки в соответствии с определенным
разделителем. В результате он возвращает список подстрок. Например, вот такой код разделит строку по
пробелам:

my_string = "Привет, мир!"


splitted_string = my_string.split()
print(splitted_string)

Вывод:

['Привет,', 'мир!']

Метод join() предназначен для объединения списка строк в единую строку с помощью определенного
разделителя. Например, вот как можно объединить список имён с помощью запятых:

names = ['Анна', 'Иван', 'Мария']


joined_string = ', '.join(names)
print(joined_string)

Вывод:

Анна, Иван, Мария

Иллюстрация различных методов их использования на примере


популярных случаев, когда они нужны.
2. Разделение текста на слова
Одним из самых распространенных случаев использования метода split() является разделение текста на
отдельные слова. Это может быть полезно при анализе текста или обработке данных. Рассмотрим
пример:

text = "Привет, как дела?"


words = [Link]()
print(words)

Вывод:

['Привет,', 'как', 'дела?']

2. Обработка CSV-файлов
В работе с CSV-файлами также применяется метод split() . Например, допустим, у нас есть следующая
строка из CSV-файла:

csv_string = "Иван, Иванов, 25, Москва"


data = csv_string.split(',')
print(data)

Вывод:

['Иван', ' Иванов', ' 25', ' Москва']

2.3 Объединение URL-параметров


Метод join() находит применение при работе с URL-параметрами. Представим, что у нас есть словарь с
параметрами. Мы хотим создать строку, в которой параметры будут разделены символом "&". Вот
пример:

params = {'page': '2', 'limit': '10', 'sort': 'desc'}


url_string = '&'.join([f"{key}={value}" for key, value in [Link]()])
print(url_string)

Вывод:

page=2&limit=10&sort=desc

Подробные примеры кода и разборы нескольких наглядных кейсов


Рассмотрим подробнее несколько кейсов использования методов split() и join() .

3.1 Разделение строки на предложения


Представим, что у нас есть текст, и мы хотим разделить его на предложения. Для этого можно
воспользоваться разделителем "." . Вот пример решения этой задачи:

text = "Привет! Как дела? Что нового?"


sentences = [Link]('.')
print(sentences)

Вывод:

['Привет', ' Как дела', ' Что нового?']

3.2️Объединение элементов списка в текст


Предположим, у нас есть список слов, и мы хотим объединить их в обычный текст. Для этого можно
использовать метод join() с пробелом в качестве разделителя. Например:

words = ['Это', 'тестовый', 'текст']


text = ' '.join(words)
print(text)

Вывод:

Это тестовый текст

📝 Выводы
Методы split() и join() являются мощными инструментами при работе с текстовыми данными в Python.
Они позволяют разделять строки на подстроки и объединять списки строк в единую строку. Вы можете
использовать эти методы во множестве ситуаций, от обработки текста до работы с различными
форматами данных. Изучите их функционал внимательно, чтобы повысить свою эффективность в
программировании на Python!

6.3 Range и Enumerate


Функция range() в языке программирования Python используется для создания последовательности
чисел. Она возвращает объект диапазона, который можно использовать для итерации через циклы,
создания списков чисел и многое другое. Функция range() принимает три параметра — начало
диапазона, конец диапазона и шаг.

Синтаксис range на примере с циклом for

for i in range(5):
print(i)

В этом примере range(5) создает последовательность чисел от 0 до 4. Цикл for используется для
итерации через каждое значение в диапазоне. Результат будет выводиться на экран:

0
1
2
3
4

📚 Пример перебора списка через обращение к i-ому элементу


списка, используя for i in range(len(list))
Иногда может быть необходимость перебрать элементы списка, обращаясь к каждому элементу по его
индексу. В этом случае можно использовать функцию range() с функцией len() , чтобы получить
количество элементов в списке, итерироваться через каждый индекс и получать элементы списка по
этому индексу.

my_list = ['apple', 'banana', 'orange']

for i in range(len(my_list)):
print(my_list[i])

Результат будет следующим:

apple
banana
orange

🔢 Пояснение, когда надо отнимать от индекса 1, а когда не надо


При использовании функции range() и итерации через список с помощью индексов, часто возникает
вопрос о том, нужно ли отнимать 1 от значения индекса или нет.

Ответ зависит от того, какая система индексации используется. В Python и большинстве других языков
программирования, индексы начинаются с 0. Это значит, что первый элемент в списке имеет индекс 0,
второй - индекс 1, и так далее.

Поэтому, если нам нужно получить первый элемент списка, используя итерацию с помощью функции
range() , мы не должны отнимать 1 от значения индекса. Но если мы хотим получить порядковый номер
элемента (начиная с 1), то мы должны отнять 1 от значения индекса.

🔢 Что такое Enumerate и для чего она применяется


Функция enumerate() в Python используется для добавления порядковых номеров к элементам
последовательности (например, списку). Она возвращает объект, который может быть использован в
цикле for для итерации через элементы и их индексы одновременно.

Синтаксис Enumerate на примере с циклом for

my_list = ['apple', 'banana', 'orange']

for i, value in enumerate(my_list):


print(i, value)

Результат будет следующим:

0 apple
1 banana
2 orange

📝 Отображение нумерованного списка начиная с 1


По умолчанию, функция enumerate() нумерует элементы списка, начиная с 0. Однако, в некоторых
случаях возможно потребуется начать нумерацию с 1.

my_list = ['apple', 'banana', 'orange']

for i, value in enumerate(my_list, start=1):


print(i, value)

Результат будет следующим:

1 apple
2 banana
3 orange

⌨️ Пример создания меню "выберите из списка"


menu = ['Продукты', 'Акции', 'Оплата', 'Доставка']

print("Меню:")
for i, item in enumerate(menu, start=1):
print(f"{i}. {item}")

Результат будет следующим:

Меню:
1. Продукты
2. Акции
3. Оплата
4. Доставка

📚 Используя функции range() и enumerate() в Python, вы можете работать с последовательностями и


списками более удобным и гибким способом. Надеюсь, эта статья помогла вам разобраться в их
использовании и дала полезные примеры для вашего кодирования!

📝 6.4 Картавая задачка 2


Введение
В предыдущей статье мы решали задачу с использованием строковых операций. Однако, сегодня мы
будем улучшать эту задачу и использовать более эффективный подход. Давайте приступим!

Шаг 1: Ввод данных от пользователя


📌 Попросим пользователя ввести несколько слов через пробел.

user_input = input("Введите несколько слов через пробел: ")

🔍 Для упрощения задачи, мы приведем все слова к нижнему регистру с помощью метода lower() .

user_input = user_input.lower()

Шаг 2: Разделение строки на отдельные слова


📌 Воспользуемся методом split() , чтобы разделить введенную строку на отдельные слова. Мы
передадим символ пробела как аргумент метода split() , чтобы разделить строку именно по этому
символу.

words = user_input.split(" ")

В результате получим список, содержащий все введенные пользователем слова.

Шаг 3: Поиск слов с буквой "р"


📌 Создадим пустой список с именем "плохие_слова".

плохие_слова = []

📌 Далее, создадим цикл, который будет проверять каждое слово в списке "words" на наличие буквы
"р".

for word in words:


if "р" in word:
плохие_слова.append(word)

🔍 Здесь мы используем оператор "in", чтобы проверить, содержит ли слово букву "р". Если "р" есть в
слове, мы добавляем его в список "плохие_слова" с помощью метода append() .

Шаг 4: Печать результатов


📌 Проверяем, есть ли в списке "плохие_слова" хотя бы одно слово.

if плохие_слова:
print("Обнаружены плохие слова:", плохие_слова)
else:
print("Плохих слов не найдено.")

🔍 Здесь мы используем условное выражение, чтобы проверить, содержит ли список "плохие_слова"


хотя бы одно слово. Если список не пустой, мы печатаем все найденные плохие слова. Если же список
пустой, мы выводим сообщение о том, что плохих слов не найдено.

Заключение
Теперь, когда мы улучшили нашу задачку, она стала более эффективной и удобной в использовании. Мы
использовали методы строк для преобразования введенных слов и методы списков для сохранения и
вывода результатов. Помните, что каждое пустое слово или пустая строка возвращают значение "False"
в условном выражении. Не забывайте применять полученные знания на практике и повторять задачи
снова и снова!

🛒 6.5 Создание списка продуктов


В этой статье мы решим задачку, связанную со списками, циклом for и функцией range . Давайте
представим, что у нас есть компьютер, который спрашивает у пользователя, сколько продуктов он может
унести из магазина. Мы напишем программу, которая получает это число, создает пустой список и затем
запрашивает у пользователя наименование каждого продукта, исключая повторы.

1️⃣ Создание списка покупок


В начале программы мы запрашиваем у пользователя количество продуктов, которые он может унести из
магазина. Затем мы преобразуем введенное число в целое значение и сохраняем его.

num_products = int(input("Сколько продуктов вы можете унести из магазина? "))

Далее мы создаем пустой список shopping_list , в котором будем хранить наименования продуктов.

shopping_list = []

2️⃣ Заполнение списка продуктами


Теперь мы переходим к основной части программы - заполнению списка продуктами. Мы используем цикл
for с функцией range , чтобы выполнить нужное количество итераций, которое определяется
пользовательским вводом.

for i in range(num_products):
product = input("Введите наименование продукта: ").lower()

На каждой итерации цикла, программа запрашивает у пользователя наименование продукта и применяет


метод lower() , чтобы сделать его нижним регистром. Это помогает предотвратить дубликаты в списке.

3️⃣ Проверка уникальности продукта


Далее мы добавляем проверку, чтобы убедиться, что введенный продукт еще не был добавлен в список.
Мы используем условную конструкцию if и оператор in для этой цели:

if product in shopping_list:
print(f"Продукт {product} уже есть в списке!")
else:
shopping_list.append(product)

Если продукт уже присутствует в списке shopping_list , программа выводит сообщение о том, что
продукт уже добавлен. В противном случае, продукт добавляется в список с помощью метода append() .

4️⃣ Вывод списка уникальных продуктов


После завершения цикла for , у нас будет коллекция уникальных продуктов в списке shopping_list . Мы
можем вывести этот список, чтобы пользователь увидел, какие продукты он выбрал.

print("Список покупок:")
for product in shopping_list:
print(f"- {product}")

Здесь мы используем цикл for для итерации по списку shopping_list и выводим каждый продукт на
отдельной строке.

🔁 Заключение
Теперь вы знаете, как создать список продуктов с помощью цикла for , функции range и методов
работы со списками в Python. Наша программа позволяет пользователю вводить наименования продуктов и
сохранять только уникальные значения. Такой подход позволяет создавать списки без повторов, что
очень удобно при составлении покупок или любых других списков.

📝 6.6 Примеры, где лучше использовать списки


Списки - это удобные и эффективные структуры данных, которые находят свое применение во многих
аспектах программирования. В данной статье мы рассмотрим несколько примеров, где использование
списков может быть особенно полезным и эффективным.

🔹 Парсинг данных
Одной из сфер, где использование списков является очень удобным подходом, является парсинг данных.
Парсинг данных - это процесс извлечения информации из структурированных или полу-структурированных
источников. Списки позволяют нам легко хранить и обрабатывать эти данные.

Допустим, у нас есть файл, содержащий список URL-адресов. Мы хотим извлечь информацию о каждом
URL-адресе, такую как заголовок страницы, ключевые слова и дата создания. Мы можем использовать
список для хранения всех этих данных:

url_list = [
"[Link]
"[Link]
"[Link]
]

for url in url_list:


# Парсим данные с помощью библиотеки для парсинга веб-страниц
page_data = parse_url(url)

# Извлекаем необходимую информацию


title = page_data.get_title()
keywords = page_data.get_keywords()
created_date = page_data.get_created_date()

# Делаем что-то с полученными данными


process_data(title, keywords, created_date)

Подобным образом, в контексте парсинга данных, списки могут использоваться для хранения и обработки
большого объема информации, такого как названия файлов, теги или любые другие структурированные
данные.

🔹 Обработка больших объемов данных


Еще одним примером использования списков является обработка больших объемов данных. Списки
обеспечивают удобную и эффективную структуру для хранения и управления большим количеством
элементов.

Представьте себе, что у нас есть база данных с информацией о клиентах. Для каждого клиента у нас
есть различные данные, такие как имя, адрес, телефон и т.д. Мы можем использовать список для
хранения всех этих данных:

clients = [
{"name": "John", "address": "123 Main St", "phone": "555-1234"},
{"name": "Alice", "address": "456 Elm St", "phone": "555-5678"},
{"name": "Bob", "address": "789 Oak St", "phone": "555-9012"}
]

for client in clients:


# Получаем данные о каждом клиенте
name = client["name"]
address = client["address"]
phone = client["phone"]

# Обрабатываем данные
process_client(name, address, phone)
Таким образом, используя списки, мы можем удобно хранить и обрабатывать большие объемы данных,
такие как информация о клиентах, продуктах или любые другие структурированные данные.

📚 Заключение
Списки - это мощный инструмент в пайтоне, который может быть использован во многих ситуациях. В
данной статье мы рассмотрели только два примера, но списки могут быть полезны и в других областях
программирования. Они облегчают хранение и обработку данных, позволяют эффективно работать с
большими объемами информации и делают программный код более понятным и структурированным.

Надеюсь, эта статья помогла вам лучше понять, как и где использовать списки в пайтоне. Берегите их,
и списки будут служить вам верой и правдой во всех ваших программных проектах!

📜 6.7 Кортеж - брат-близнец списка


Кортеж (tuple) - это упорядоченная неизменяемая коллекция объектов в Python. Он является братом-
близнецом списка, но в отличие от него, кортеж не может быть изменён после создания. Кортежи в
Python создаются с помощью круглых скобок и элементы разделяются запятыми.

📝 Характеристики кортежей
Неизменяемость: кортежи не могут быть изменены после создания. Попытка изменить кортеж
приведет к ошибке.
Упорядоченность: порядок элементов в кортеже определен и сохраняется при обращении к ним.
Доступность по индексу: можно обратиться к элементам кортежа по их индексам.
Возможность содержать любые типы данных: в кортеже могут быть храниться объекты различных
типов данных, включая другие кортежи.
Возможность использования в качестве ключей словаря: кортежи можно использовать в словарях в
качестве ключей, в отличие от списков.

📊 Таблица методов кортежей


Вот сводная таблица основных методов кортежей (tuple) в Python, включая их краткое описание:

Метод Описание

count(item) Возвращает количество вхождений элемента item в кортеже.

Возвращает индекс (позицию) первого вхождения элемента item в кортеже. Если элемент не найден,
index(item)
возникает ошибка ValueError.

Сложение кортежей: создает новый кортеж, объединяя элементы текущего кортежа с элементами
+(other)
кортежа other .

Умножение кортежа на целое число n : создает новый кортеж, содержащий повторенные элементы из
*(n)
текущего кортежа n раз.

len() Возвращает количество элементов в кортеже.

Кортежи в Python не имеют множества методов, как списки, потому что они являются неизменяемыми
(immutable). Методы count и index используются для выполнения операций поиска в кортеже. Сами
кортежи нельзя изменить после создания, поэтому методы для изменения элементов отсутствуют.

💡 Примеры использования кортежей


Пример 1: Использование кортежей для возврата нескольких значений из
функции

def get_name_and_age():
name = "John"
age = 25
return name, age

person = get_name_and_age()
print(person) # ('John', 25)
name, age = get_name_and_age()
print(name) # John
print(age) # 25

Кортежи часто используются для возврата нескольких значений из функции. В приведенном примере
функция get_name_and_age() возвращает кортеж, содержащий имя и возраст. Затем мы можем
присвоить элементы кортежа переменным name и age .

Пример 2: Использование кортежей в цикле for

points = [(1, 2), (3, 4), (5, 6)]

for x, y in points:
print(f"X: {x}, Y: {y}")

# Вывод:
# X: 1, Y: 2
# X: 3, Y: 4
# X: 5, Y: 6

Кортежи могут быть использованы в цикле for для итерации по коллекции кортежей. В приведенном
примере points - это список кортежей, содержащих координаты точек. Мы используем
деструктуризацию кортежей, чтобы получить значения x и y .

Пример 3: Использование кортежей в качестве ключей словаря

book1 = ("Harry Potter", "J.K. Rowling")


book2 = ("To Kill a Mockingbird", "Harper Lee")

library = {
book1: 1997,
book2: 1960
}

print(library[book1]) # 1997

Кортежи могут быть использованы в качестве ключей словаря, поскольку они являются неизменяемыми. В
приведенном примере book1 и book2 - это кортежи, представляющие книги и их авторов. Мы используем
эти кортежи в качестве ключей словаря, чтобы установить год выпуска книги.

🚀 Вывод
Кортежи в Python являются неизменяемыми коллекциями объектов. Они полезны, когда вам нужны
значения, которые не должны изменяться, или когда вы хотите вернуть несколько значений из функции.
Кроме того, кортежи могут быть использованы в циклах, в качестве ключей словаря и во многих других
ситуациях.

Задачки⭐
🛒Список покупок
Задача:
Создайте программу для управления списком покупок. Позвольте пользователям добавлять, удалять и
просматривать продукты в списке.

Условия:
1. Начальный список покупок пуст.
2. Пользователь может выполнять следующие действия:
Ввести "1" для добавления продукта в список.
Ввести "2" для удаления продукта из списка.
Ввести "3" для просмотра текущего списка покупок.
Ввести "0" для завершения программы.
3. Если пользователь выбирает действие "1" (добавление продукта), программа должна запросить у
пользователя название продукта и добавить его в список покупок.
4. Если пользователь выбирает действие "2" (удаление продукта), программа должна запросить у
пользователя название продукта и удалить его из списка покупок, если такой продукт есть в списке.
5. Если пользователь выбирает действие "3" (просмотр списка), программа должна выводить текущий
список покупок на экран.
6. Если пользователь выбирает действие "0" (завершение программы), программа должна завершить
выполнение.

Примечание:
На данном этапе, вы можете использовать простые переменные и условные операторы для реализации
этой программы. В дальнейшем вы сможете развивать программу дальше, используя более сложные
структуры данных и циклы после изучения соответствующих материалов.

🔡Подсчет слов в тексте


Задача:
Реализуйте скрипт для подсчета количества слов в пользовательском вводе (в дальнейшем алгоритм
можно будет применить к файлу) и отображения сколько букв и слов содержит введенный текст.

Условия:
1. Пользователь должен ввести текст.
2. Скрипт должен анализировать введенный текст и подсчитывать количество слов и букв.
3. Словом считается последовательность символов, разделенных пробелами.
4. Символы пунктуации (точки, запятые, вопросительные знаки и др.) не считаются словами и не
учитываются в подсчете.
5. Скрипт должен выводить на экран количество слов и количество букв в тексте.
6. После анализа текста, скрипт должен завершить выполнение.

Примечание:
Вы можете использовать встроенные методы для обработки строк в Python для решения этой задачи.

🍕 Симулятор ресторана
Задача:
Напишите симулятор ресторана, который использует список заказов. Пользователи могут добавлять
заказы и видеть общую стоимость.

Условия:
1. Начальный список заказов

order = [
"Пицца 12.99",
"Салат 7.50",
"Стейк 18.75",
"Паста 9.99",
]

3. Пользователь может выполнять следующие действия:


Ввести "1" для добавления блюда в заказ.
Ввести "2" для просмотра текущего заказа.
Ввести "0" для завершения программы.
4. Если пользователь выбирает действие "1" (добавление блюда), программа должна запросить у
пользователя название блюда и его цену, а затем добавить это блюдо и цену в список заказов.
5. Если пользователь выбирает действие "2" (просмотр заказа), программа должна выводить текущий
список заказов на экран и подсчитывать общую стоимость заказа.
6. Если пользователь выбирает действие "0" (завершение программы), программа должна завершить
выполнение.
7. После выполнения каждого действия, программа должна вернуться к начальному меню выбора
действий.
8. Список заказов может содержать название блюда и его цену, разделенные пробелом (например,
"Пицца 12.99"). Таким образом можно будет разбить это по пробелу и получить цену (не забудьте
изменить тип данных)

Пимечание:
На данном этапе, вы можете использовать простые переменные и условные операторы для реализации
этой программы. В дальнейшем вы сможете развивать программу дальше, используя более сложные
структуры данных и циклы после изучения соответствующих материалов.

Вам также может понравиться