Доступ к элементу в словаре с использованием другого ключа - PullRequest
0 голосов
/ 06 марта 2020

У меня есть словарь:

D = <Queryset[{'name' : 1 , 'id' : 3, 'val': 4}]>

D, вот список словарей.

У меня есть объект, который может получить мне идентификатор с помощью (s.game_id). Используя s.game_id, Я получаю '3' в качестве значения, которое является правильным. Однако этот объект не имеет 'val' доступности. Я хочу получить соответствующее значение 'val', используя 'id'. Но я не могу сделать это и застрял.

Обновление 1:

Когда я хочу, чтобы значение «имя», используя «val». Тогда я я не могу этого сделать.

game = Game.objects.get(id = touidatelabels.values_list("name", flat = True).get(val = '4'))

1 Ответ

1 голос
/ 06 марта 2020

Поскольку у вас есть набор запросов, вы можете отфильтровать его и получить результаты

D.values_list("val", flat=True).get(id=s.game_id)

Но если вы предпочитаете делать это без набора запросов (может быть, просто список слов), вы можете использовать next

try:
    next(d["val"] for d in D if d["id"] == s.game_id)
except StopIteration:
    # no item matching the id
    return None # or any other default value or raise an exception
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...