🎯 Модуль 11, задание 11.19
Как перебрать пары ключ: значение?
Как перебрать пары ключ: значение?
Anonymous Quiz
25%
for key, value in d:
75%
for key, value in d.items():
0%
for pair in d:
0%
for key in d:
🎯 Модуль 11, задание 11.20
Как создать словарь {x: x**2 for x in range(3)}?
Как создать словарь {x: x**2 for x in range(3)}?
Anonymous Quiz
22%
Через цикл for
67%
Через генератор списков
11%
Через словарное включение
0%
Через map()
🎯 Модуль 11, задание 11.21
Как отфильтровать словарь, оставив только четные значения? —> d = {'a': 1, 'b': 2, 'c': 3} <—
Как отфильтровать словарь, оставив только четные значения? —> d = {'a': 1, 'b': 2, 'c': 3} <—
Anonymous Quiz
33%
{k: v for k, v in d.items() if v % 2 == 0}
33%
filter(lambda x: x % 2 == 0, d)
17%
d.filter(v % 2 == 0)
17%
[v for v in d if v % 2 == 0]
🎯 Модуль 11, задание 11.22
Как создать вложенный словарь?
Как создать вложенный словарь?
Anonymous Quiz
75%
{'a': {'b': 1}}
13%
{'a': [1, 2]}
13%
{'a': (1, 2)}
0%
{'a': 'b'}
🎯 Модуль 11, задание 11.23
Как получить значение 1 из {'a': {'b': 1}}?
Как получить значение 1 из {'a': {'b': 1}}?
Anonymous Quiz
57%
d['a']['b']
43%
d['a'][0]
0%
d['a'].get('b')
0%
d.get('a').get('b')
🎯 Модуль 11, задание 11.24
Как получить список пар ключ: значение?
Как получить список пар ключ: значение?
Anonymous Quiz
50%
list(d)
50%
list(d.items())
0%
d.to_list()
0%
tuple(d)
🎯 Модуль 11, задание 11.25
Как создать словарь из [('a', 1), ('b', 2)]?
Как создать словарь из [('a', 1), ('b', 2)]?
Anonymous Quiz
50%
dict([('a', 1), ('b', 2)])
38%
{['a', 1], ['b', 2]}
0%
('a', 1) + ('b', 2)
13%
set([('a', 1), ('b', 2)])
🎯 Модуль 11, задание 11.26
Как создать словарь из keys = ['a', 'b'] и values = [1, 2]?
Как создать словарь из keys = ['a', 'b'] и values = [1, 2]?
Anonymous Quiz
63%
dict(zip(keys, values))
25%
{keys: values}
13%
dict(keys, values)
0%
keys + values
🎯 Модуль 11, задание 11.27
Почему списки не могут быть ключами?
Почему списки не могут быть ключами?
Anonymous Quiz
22%
Они слишком медленные
67%
Они не поддерживают хеширование
11%
Они автоматически сортируются
0%
Они преобразуются в строки
🎯 Модуль 11, задание 11.28
Что делает defaultdict(int)?
Что делает defaultdict(int)?
Anonymous Quiz
14%
Создает словарь с ключами-числами
86%
При обращении к отсутствующему ключу возвращает 0
0%
Запрещает строковые ключи
0%
Автоматически удаляет дубликаты
🎯 Модуль 11, задание 11.29
Зачем нужен OrderedDict в Python < 3.7?
Зачем нужен OrderedDict в Python < 3.7?
Anonymous Quiz
33%
Для хранения ключей в алфавитном порядке
67%
Для гарантированного порядка элементов
0%
Для ускорения доступа
0%
Для работы только с числами
🎯 Модуль 11, задание 11.30
Что вернет Counter(['a', 'b', 'a'])?
Что вернет Counter(['a', 'b', 'a'])?
Anonymous Quiz
60%
{'a': 2, 'b': 1}
40%
['a', 'b']
0%
('a', 'b')
0%
{'a', 'b'}
Недельный перерыв в изучении Python!
Период: с 1 июля по 8 июля.
Обучение возобновится 8 июля с новыми темами и практическими заданиями.
Благодарим за понимание и продуктивную работу!
–> @SV_Python
Период: с 1 июля по 8 июля.
Обучение возобновится 8 июля с новыми темами и практическими заданиями.
Благодарим за понимание и продуктивную работу!
–> @SV_Python
🔥7😁1👀1
Что такое множество?
Множество (set) — это мощная структура данных в Python, которая хранит уникальные элементы в неупорядоченном виде.
Основные особенности:
my_set = {1, 2, 3, 2, 1} # Автоматическое удаление дублей
print(my_set) # Выведет: {1, 2, 3}
Преимущества множеств:
- Молниеносная проверка наличия элемента (x in set)
- Автоматическое удаление повторений
- Поддержка математических операций (объединение, пересечение)
Ограничения:
- Нет доступа по индексу
- Нельзя хранить изменяемые объекты (списки, словари)
- Порядок элементов не гарантирован (до Python 3.7)
Пример использования:
# Удаление дубликатов из списка
names = ["Alice", "Bob", "Alice", "Charlie"]
unique_names = list(set(names)) # Преобразуем в множество и обратно
print(unique_names) # ['Charlie', 'Bob', 'Alice'] - порядок может меняться
👍6
Основные свойства и характеристики множеств
Главные характеристики:
1. Уникальность элементов
{1, 2, 2, 3} # Станет {1, 2, 3}2. Отсутствие индексации
s = {'a', 'b', 'c'}
# s[0] # Ошибка! Так нельзя3. Высокая скорость операций
- Проверка наличия: O(1)
- Добавление/удаление: O(1)
4. Изменяемость
s = {1, 2}
s.add(3) # Теперь {1, 2, 3}👍5
Создание множеств
1. Литералы фигурных скобок:
colors = {'red', 'green', 'blue'}2. Конструктор set():
s1 = set() # Пустое множество
s2 = set([1, 2, 3]) # Из списка
s3 = set("hello") # {'h', 'e', 'l', 'o'}
3. Генераторы множеств:
squares = {x**2 for x in range(5)} # {0, 1, 4, 9, 16}4. Из других коллекций:
words = ["hello", "world", "hello"]
unique_words = set(words) # {'world', 'hello'}
Важно:
empty_set = set() # Правильно
not_a_set = {} # Это словарь!
👍5🔥1
Пустое множество VS пустой словарь
Как запомнить?
"Фигурные скобки ( {} ) создают словарь, для множества нужен
set()"👍6
Ограничения элементов: что можно хранить?
Допустимые типы:
- Числа (int, float)
- Строки (str)
- Кортежи (tuple)
- frozenset
Запрещенные типы:
- Списки (list)
- Словари (dict)
- Другие множества (set)
Пример ошибки:
invalid_set = {[1, 2]} # TypeError: unhashable type: 'list'Решение:
# Преобразуем списки в кортежи
valid_set = {tuple([1, 2]), tuple([3, 4])}
👍6