Python: как фильтровать словарь по списку ключей с примерами кода

Чтобы отфильтровать словарь по списку ключей в Python, вы можете использовать различные методы. Вот несколько примеров:

Метод 1: понимание словаря

my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
keys_to_filter = ['a', 'b', 'c']
filtered_dict = {key: value for key, value in my_dict.items() if key in keys_to_filter}
print(filtered_dict)

Выход:

{'a': 1, 'b': 2, 'c': 3}

Метод 2. Использование встроенной функции filter()

my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
keys_to_filter = ['a', 'b', 'c']
filtered_dict = dict(filter(lambda item: item[0] in keys_to_filter, my_dict.items()))
print(filtered_dict)

Выход:

{'a': 1, 'b': 2, 'c': 3}

Метод 3. Использование цикла

my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
keys_to_filter = ['a', 'b', 'c']
filtered_dict = {}
for key in keys_to_filter:
    if key in my_dict:
        filtered_dict[key] = my_dict[key]
print(filtered_dict)

Выход:

{'a': 1, 'b': 2, 'c': 3}

Метод 4. Использование словарного понимания с пересечением set()

my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
keys_to_filter = ['a', 'b', 'c']
filtered_dict = {key: my_dict[key] for key in set(my_dict) & set(keys_to_filter)}
print(filtered_dict)

Выход:

{'a': 1, 'b': 2, 'c': 3}