Уникальные символы без пробелов
Повторение задания из блока множеств.
text = "hello world"
unique_chars = set(text)
unique_chars.discard(" ")
print("Уникальные символы:", sorted(unique_chars))Общие ключи словарей
Ключи словаря можно превратить в set и пересечь.
dict1 = {"a": 1, "b": 2, "c": 3}
dict2 = {"b": 5, "d": 7, "a": 8}
common_keys = sorted(set(dict1) & set(dict2))
print("Общие ключи:", common_keys if common_keys else "-")Подмножество словаря
Пара должна совпасть целиком: и ключ, и значение.
dict1 = {"a": 1, "b": 2}
dict2 = {"a": 1, "b": 2, "c": 3}
print(all(item in dict2.items() for item in dict1.items()))Группировка по frozenset
Одинаковые наборы прав становятся одним ключом.
users = {
"alice": ["read", "write"],
"bob": ["write", "read"],
"charlie": ["read"],
}
groups = {}
for user, permissions in users.items():
key = frozenset(permissions)
groups.setdefault(key, []).append(user)
print(groups)