Получить из списка нужный элемент с учетом нулевого индекса
Нужно получить нужный элемент списка с учетом его первым индексом, к примеру у нас есть такой список:
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]