У меня есть список словарей вроде:
lst = [{'a': 5}, {'b': 6}, {'c': 7}, {'d': 8}]
Я написал генераторное выражение вроде:
next((itm for itm in lst if itm['a']==5))
Теперь странная часть состоит в том, что хотя это работает для пары значений ключа 'a'
он выдает ошибку для всех остальных выражений в следующий раз.
Выражение:
next((itm for itm in lst if itm['b']==6))
Ошибка:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <genexpr>
KeyError: 'b'