#Код1
lst = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] # Создаем список
print(lst)
lst.append('Строка') # Добавляем элемент с типом str в конец списка
print(lst)
lst[4] = 189 # Вставляем элемент со значением 189 на место с индексом 4
print(lst)
lst.append(['a', 'b', 'a', 'hello']) # Добавляем вложенный список ['a', 'b', 'a', 'hello']
print(lst)
lst[-3] = (1, 6, 89) # Вставляем кортеж со значением (1, 6, 89) на место с индексом -3 (3-й элемент с конца списка)
print(lst)
print(lst[0]) # Получаем значение элемента с индексом 0
print(lst[-1]) # Получаем значение элемента с индексом -1 (последний элемент списка)
lst.remove(189) # Удаляем элемент со значением 189
print(lst)
print(lst.count(1)) # Считаем количество элементов в списке со значением 1
#Код2
lst = ['Нулевой элемент', 'One', 2, 3, 4, (5, 5, 5)]
print(lst[0])
print(lst[-1])
#Код3
a = 100 # Присваивает значение
b = 'Строка' # Присваивает значение
print(a, b)
a, b = b, a # Меняет значение местами
print(a, b)
#Код4
lst = [0, 0, 1, 2, 3, 4, 5, 5, 6, 7] # Создаем список с дубликатами lst
print(lst)
st = set(lst)
# На основе списка создаем множество st
# # Помним про основное свойство множеств - они не могут содержать дубликатов
# # Поэтому если lst содержит дубликаты, то при создании множества на его основе дубликаты будут удалены
print(st)
print(lst)
# А значит количество элементов в списке и во множестве будет различаться
# Сравниваем количество элементов с помощью встроенного метода len()
print(len(st) == len(lst))
# Длины не равны, значит в изначальном списке были дубликаты
#Код5
dct = {1: 'value_1', 2: 'value_2', 3: 'value_3'} # Создаем словарь
print(dct)
dct['str_key'] = 12345
print(dct)
dct[('it', 'is', 'tuple')] = [11, 22, 'list_value', 33, {1, 2, 3}] # 3. Добавляем в словарь новый элемент с ключом ('it', 'is', 'tuple') и значением [11, 22, 'list_value', 33, {1, 2, 3}]
print(dct)
# Получаем элемент словаря по ключу 'str_key'
# Способ 1: Напрямую - в случае отсутствия ключа формируется исключение
item_by_key_v1 = dct['str_key']
print(item_by_key_v1)
# Способ 2: Через функцию get() - в случае отсутствия ключа возвращается дефолтное значение 'No item'
item_by_key_v2 = dct.get('str_key', 'No item')
print(item_by_key_v2)
item_deleted = dct.pop(2, 'No item') # Удаляем элемент с ключом '2' из словаря
print(dct)
keys = dct.keys() # Получаем ключи словаря
print(keys)
#Код6
st = {'it', 'is', 'set', 1} # Создаем изменяемое множество
#print(st)
frozen_st = frozenset({'it', 'is', 'frozen', 'set', 2}) # Создаем неизменяемое множество
print(frozen_st)
union = st | frozen_st # Выполняем операцию объединения созданных множеств
print(union) # Результатом объединения будет множество, содержащее все элементы обоих множеств(без дубликатов)
intersection = st & frozen_st # Выполняем операцию пересечения созданных множеств
print(intersection) # Результатом пересечения будет множество, содержащее элементы, присутствующие одновременно в обоих множествах