Как отфильтровать список через lambda уже написали. А другой вариант - преобразовать текущий список во что-то более пригодное к адресации. Например, словарь с ключом из этого id (предполагаю, что id уникально), тогда можно будет напрямую получать данные. В простейшем случае так:
a = [{'id':1, 'name':"ID1", 'val':331}, {'id':98, 'name':"ID98", 'val':51}, {'id':908, 'name':"908", 'amount':361}]
new_dict = {d['id']:d for d in a}
print(new_dict)
# теперь можно напрямую обращаться по id
print(new_dict[1])
print(new_dict[908])