Как убрать лишние параметры при форматировании строки в Питоне?
Доброго времени суток.
Есть строка вида "Deal % (dam)s to enemy" и огромный словарь kwarg'ov вида {some_value1: 112, some_value2:321, dam: 42}
В конце при выводе просто делаю подстановку
str % kwarg
Суть вопроса, как убрать ненужные для форматирования параметры из кваргов?
sim3x: Это паттерн для клиента. На нём будет осуществлён перевод и значение как-то обозначено подсветкой. Не всегда в кваргах данных, которые можно обернуть json.dumps да и не стоит светить клиенту некоторые параметры.
>>> d = {'some_value1': 112, 'some_value2': 321, 'dam': 42, 'pam': 43}
>>> out = {k: d[k] for k in d if k in ('dam', 'pam')}
>>> out
{'dam': 42, 'pam': 43}
>>>
% вроде не советуют использовать, альтернатива str.format
"Deal {dam} to enemy".format(**some_dict)
что касается вопроса: лучше пересмотрите архитектуру, чтобы вы знали данные, нужные для строки, но если хочется изврата, можете парсить строку регуляркой, вытягивать нужные ключи и удалять их из словаря