Числа кратные 3 или 5
Set comprehension фильтрует и убирает дубликаты.
numbers = [16, 18, 1, 6, 3, 2, 6, 2, 14, 3, 20, 15, 19, 4, 18, 15, 15, 4, 20, 18]
result = {number for number in numbers if number % 3 == 0 or number % 5 == 0}
print(result)Строки с длиной
Dict comprehension превращает список строк в словарь.
words = ["apple", "banana", "cherry", "date"]
lengths = {word: len(word) for word in words}
print(lengths)База оценок студентов
Вложенный словарь хранит исходные оценки и средний балл.
grades = {
"anna": [5, 4, 3, 5],
"bennet": [3, 2, 4],
"john": [5, 5, 5],
}
result = {}
for student, marks in grades.items():
result[student] = {
"оценки": marks,
"средний балл": sum(marks) / len(marks),
}
print(result)Одинаковые предметы
frozenset группирует студентов по идентичному набору предметов.
students = {
"Alice": ["Math", "Physics"],
"Bob": ["Math", "Physics"],
"Charlie": ["Chemistry", "Biology"],
"David": ["Math", "Physics"],
"Eve": ["Chemistry", "Biology"],
}
groups = {}
for student, subjects in students.items():
groups.setdefault(frozenset(subjects), []).append(student)
for subjects, names in groups.items():
print(f"Группа с предметами: {', '.join(sorted(subjects))}: {names}")