Урок: Структуры данных
Структуры данных
Структуры данных в Python позволяют организовывать и хранить данные различными способами. В этом уроке мы рассмотрим списки, кортежи, словари и множества, а также операции и методы, которые можно с ними выполнять.
Списки и операции с ними
Списки используются для хранения упорядоченных коллекций элементов. Они могут содержать элементы любого типа и изменяться после создания.
Создание списка
fruits = ["apple", "banana", "cherry"]
print(fruits) # Выводит: ['apple', 'banana', 'cherry']
# Добавление элементов
fruits.append("orange")
print(fruits) # Выводит: ['apple', 'banana', 'cherry', 'orange']
# Вставка элемента на конкретную позицию
fruits.insert(1, "blueberry")
print(fruits) # Выводит: ['apple', 'blueberry', 'banana', 'cherry', 'orange']
# Удаление элементов
fruits.remove("banana")
print(fruits) # Выводит: ['apple', 'blueberry', 'cherry', 'orange']
# Доступ к элементам по индексу
print(fruits[2]) # Выводит: cherry
# Срезы
print(fruits[1:3]) # Выводит: ['blueberry', 'cherry']
Кортежи и их использование
Кортежи, как и списки, используются для хранения упорядоченных коллекций элементов, но они неизменяемы после создания.
Создание кортежа
colors = ("red", "green", "blue")
print(colors) # Выводит: ('red', 'green', 'blue')
# Доступ к элементам по индексу
print(colors[1]) # Выводит: green
# Кортежи можно использовать в качестве ключей словаря
location = (40.7128, -74.0060)
places = {location: "New York"}
print(places) # Выводит: {(40.7128, -74.006): 'New York'}
Словари и методы работы с ними
Словари используются для хранения пар "ключ-значение". Ключи должны быть уникальными и неизменяемыми (например, строки, числа или кортежи), а значения могут быть любого типа.
Создание словаря
person = {"name": "Alice", "age": 25, "city": "New York"}
print(person) # Выводит: {'name': 'Alice', 'age': 25, 'city': 'New York'}
# Доступ к значениям по ключу
print(person["name"]) # Выводит: Alice
# Добавление и изменение элементов
person["email"] = "alice@example.com"
print(person) # Выводит: {'name': 'Alice', 'age': 25, 'city': 'New York', 'email': 'alice@example.com'}
# Удаление элементов
del person["age"]
print(person) # Выводит: {'name': 'Alice', 'city': 'New York', 'email': 'alice@example.com'}
# Перебор ключей и значений
for key, value in person.items():
print(f"{key}: {value}")
# Выводит:
# name: Alice
# city: New York
# email: alice@example.com
Множества и операции над ними
Множества используются для хранения уникальных элементов и поддерживают операции над множествами, такие как объединение, пересечение и разность.
Создание множества
fruits = {"apple", "banana", "cherry"}
print(fruits) # Выводит: {'apple', 'banana', 'cherry'}
# Добавление элементов
fruits.add("orange")
print(fruits) # Выводит: {'apple', 'banana', 'cherry', 'orange'}
# Удаление элементов
fruits.remove("banana")
print(fruits) # Выводит: {'apple', 'cherry', 'orange'}
# Операции над множествами
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
# Объединение
union_set = set1.union(set2)
print(union_set) # Выводит: {1, 2, 3, 4, 5, 6}
# Пересечение
intersection_set = set1.intersection(set2)
print(intersection_set) # Выводит: {3, 4}
# Разность
difference_set = set1.difference(set2)
print(difference_set) # Выводит: {1, 2}
Практическое задание
- Создайте список с несколькими элементами и выполните над ним операции добавления, удаления и срезов.
- Создайте кортеж и выведите один из его элементов по индексу.
- Создайте словарь, добавьте в него пару ключ-значение, удалите один элемент и переберите все ключи и значения.
- Создайте два множества и выполните над ними операции объединения, пересечения и разности.
Пример выполнения практического задания
# Задание 1
fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
print(fruits) # Выводит: ['apple', 'banana', 'cherry', 'orange']
fruits.remove("banana")
print(fruits) # Выводит: ['apple', 'cherry', 'orange']
print(fruits[1:3]) # Выводит: ['cherry', 'orange']
# Задание 2
colors = ("red", "green", "blue")
print(colors[0]) # Выводит: red
# Задание 3
person = {"name": "Alice", "age": 25}
person["city"] = "New York"
print(person) # Выводит: {'name': 'Alice', 'age': 25, 'city': 'New York'}
del person["age"]
print(person) # Выводит: {'name': 'Alice', 'city': 'New York'}
for key, value in person.items():
print(f"{key}: {value}")
# Выводит:
# name: Alice
# city: New York
# Задание 4
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
union_set = set1.union(set2)
print(union_set) # Выводит: {1, 2, 3, 4, 5, 6}
intersection_set = set1.intersection(set2)
print(intersection_set) # Выводит: {3, 4}
difference_set = set1.difference(set2)
print(difference_set) # Выводит: {1, 2}
Этот урок охватывает основные структуры данных в Python, включая списки, кортежи, словари и множества, а также операции и методы работы с ними. Практикуйтесь для лучшего понимания и освоения материала.