Получить из списка нужный элемент с учетом нулевого индекса

Нужно получить нужный элемент списка с учетом его первым индексом, к примеру у нас есть такой список:

listdata = [['ams', 1, 98],['online', 1, '22 billion'],['ingame', 1, '10 million']]

Как получить нужный элемент по ключевому названию, это всегда нулевый индекс к примеру мы хотим получить элемент с названием ams, как это можно сделать?


Ответы (1 шт):

Автор решения: Zhihar

можно в лоб:

listdata = [['ams', 1, 98],['online', 1, '22 billion'],['ingame', 1, '10 million']]

key = 'online'
res = None
for obj in listdata:
    if key in obj:
        res = obj
        break

print(res)

хотя как я понимаю, надо искать только среди первых элементов ключ, а не среди всех значений?

тогда так к примеру:

key = 'online'
res = [obj for obj in listdata if obj[0] == key]
res = None if res == [] else res[0]

А вот так можно сделать в 1 строчку:

res = ([obj for obj in listdata if obj[0] == key] or [None])[0]
→ Ссылка