Чтобы отфильтровать словарь по списку ключей в 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}