November 22, 2022

МНОЖЕСТВА, СЛОВАРИ, ФУНКЦИИ

Урок 4

Множества.

Что такое множества?

Это структура данных, которые содержат неупорядоченные элементы. Элементы также не является индексированным. Как и список, множество позволяет внесение и удаление элементов.

Создадим множество:

>>>s1 = {}# Создает пустое множество
>>>s2 = {1, "python", 20.67}

Множество создается при размещении всех элементов внутри фигурных скобок {}

Есть еще один способ создания множества через функцию set()

>>>s1 = set()# Создает пустое множество
>>>s2 = set({1,"python",20.67})

У функции set() нет ограничений на количество элементов, но запрещено добавлять элементы изменяемых типов, такие как список или словарь. Если попробовать добавить список, то выдаст ошибку.

>>>s5 = {1,2,3,[5,6,7,8]}
Traceback (most recent call last):
 File " ", line 1, in <module>
 TypeError: unhashable type:"list"
 

Функции множества.

Разберем еще функции множества.

Функция .add добавляет один элемент.

a={1,3,4}
a.add(2)
print(a)
{1,2,3,4}

Больше одного элемента можно добавить с помощью функции .update()

a = {1,2,3}
a.update([4,5,6])
print(set2)
{1,2,3,4,5}

Удаление элементов происходит с помощью следующих функций.

remove() нужен в тех случаях, когда нужно удалить из множества конкретный элемент и вернуть ошибку в том случае, если его нет в объекте.

a = {1,2,3,4,"a","p"}
a.remove(2)
print(set1)

discard() удаляет конкретный элемент и не возвращает ошибку, есть тот не был найден во множестве.

a = {1,3,4,"a","p"}
a.discard("a")
print(set1)
{1,3,4,"p"}

pop() удаляет по одному элементу за раз в случайном порядке. Функция pop() не требует аргументов. Так же можно описать данную функцию как неконтролируемое удаление элементов по одному из множеств.

a = {1,3,4,"p"}
a.pop()
3 #Случайный элемент будет удален(может различатся)

Словари.

Это структура которая хранит данные в формате пар ключ-значение. Получать доступ к значениям можно с помощью ключей.

Создания словаря.

Для создания словаря необходимо передать последовательность элементов внутри фигурных скобок {}, разделив их запятыми (,). Каждый элемент имеет ключи и значение, выраженное парой <<ключ: значение>>.

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

dict_sample= {"fruit":"mango",1:[4,6,8]}

fruit здесь является ключом, а mango самим значением. Так же и 1 является ключом, а [4,6,8] значением.

Добавление элементов.

dict_sample = {"Company":"Toyota","model":"Premio","year":2012}
dict_sample["Capacity"]="1800CC"
print(dict_sample)
{'Capacity': '1800CC', 'year': 2012, 'Company': 'Toyota', 'model': 'Premio'}

Обновление элемента.

Можно заменить существующий элемент. Для изменения значения используется соответствующий ключ.

dict_sample={"Company": "Toyota", "model": "Premio", "year": 2012 } 
dict_sample["year"] = 2014 print(dict_sample)
{'year': 2014, 'model': 'Premio', 'Company': 'Toyota'}

Здесь мы видим что значение 2012 было заменено на значение 2014.

Удаление элемента.

Удалить элемент можно несколькими способами. Например с помощью ключевого слова del.

dict_sample = { "Company": "Toyota", "model": "Premio", "year": 2012 }
del dict_sample["year"] 
print(dict_sample)
{'Company': 'Toyota', 'model': 'Premio'}

Мы видим что удалилось значение year.

Можно так же для удаления значения воспользоваться функцией pop().

dict_sample = { "Company": "Toyota", "model": "Premio", "year": 2012 }
dict_sample.pop("year") 
print(dict_sample)
{'Company': 'Toyota', 'model': 'Premio'}

Мы опять можем наблюдать удаление значения year.

Так же есть функция popitem() она удаляет последний элемент в словаре. Для данной функции не обязательно указывать конкретный ключ.

Функции.

Для определения функции нужно написать ключевое слово def перед именем функции, а после - поставить двоеточие. Далее идет блок инструкций.

Последняя строка в блоке инструкций может начинаться с return, если нужно вернуть какое-то значение. Если инструкции return нет, тогда по умолчанию функция будет возвращать объект None. Давайте приведем пример функции.

def compute_surface(radius):
     from math import pi
     return pi*radius*radius
     

Аргументы и параметры.

В функции можно использовать неограниченное кол-во параметров, но число аргументов должно соответствовать параметрам.

Параметр — это имя в списке параметров в первой строке определения функции. Он получает свое значение при вызове.
Аргумент — это реальное значение или ссылка на него, переданное функции при вызове.

Рассмотрим пример.

def sum(x,y):
    return x+y
    

x и y являются параметрами в этом примере.

sum(1,2)

А здесь уже 1 и 2 это аргументы.