У меня есть dict
, который имеет строковые ключи, чьи точные значения я не могу знать (потому что они генерируются динамически в другом месте). Тем не менее, я знаю, что ключ, который я хочу, содержит определенную подстроку и что один ключ с этой подстрокой определенно находится в dict.
Какой лучший или "самый пифонический" способ получить значение для этого ключа?
Я думал о двух стратегиях, но оба раздражали меня:
for k,v in some_dict.items():
if 'substring' in k:
value = v
break
- ИЛИ -
value = [v for (k,v) in some_dict.items() if 'substring' in k][0]
Первый метод является громоздким и несколько уродливым, а второй - более чистым, но лишний шаг индексирования в понимание списка ([0]
) раздражает меня. Есть ли лучший способ выразить вторую версию или более сжатый способ написать первый?