Очередь задач через OrderedDict
Высокий приоритет перемещается в начало, низкий - в конец.
from collections import OrderedDict
queue = OrderedDict({
"task1": "low priority",
"task2": "medium priority",
"task3": "low priority",
"task4": "high priority",
})
for key, value in list(queue.items()):
if "low" in value:
queue.move_to_end(key)
if "high" in value:
queue.move_to_end(key, last=False)
print(queue)Частотный анализ слов
Counter заменяет ручной словарь с подсчётом.
from collections import Counter
text = "This is a test. This test is only a test."
words = text.lower().replace(".", "").replace(",", "").split()
word_count = Counter(words)
print(dict(word_count))Группировка студентов
defaultdict(list) убирает проверку if faculty not in result.
from collections import defaultdict
students = [("Иван", "Физика"), ("Мария", "Математика"), ("Пётр", "Физика")]
result = defaultdict(list)
for name, faculty in students:
result[faculty].append(name)
print(dict(result))