@tostera

Как получить список по ID?

У меня есть например список:
list = [{id=1, name="ID1", ...}, {id=98, name="ID98", ...}, {id=908, name="908", ...}, ...]

Как мне получить список с ID например 76, если они у меня в разнобой?
  • Вопрос задан
  • 86 просмотров
Решения вопроса 2
netpastor
@netpastor
Python developer
ll = [{'id':1, 'name':"ID1" }, {'id':98, 'name':"ID98"}, {'id':908, 'name':"908"}]
list(filter(lambda x: x['id'] == 1, ll))
>>[{'id': 1, 'name': 'ID1'}]
Ответ написан
Комментировать
@o5a
Как отфильтровать список через 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])
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы