[{'id': 1}, {'id': 2}, {'id': 3}]
Мне нужно получить ИНДЕКС первого элемента этого списка, в котором id == 2
Подскажите пожалуйста, самое простое или самое элегантное (в плане читаемости кода) решение по поиску индекса. Я разумеется нашел несколько решений, но все они как-то очень громоздко выглядят... и я подумал, возможно есть какие-то короткие и красивые решения для столь примитивных задач?
Пройтись циклом и вывести индекс первого словаря с Id==2 громоздко?
Если смотреть на это вне контекста — то нет, не громоздко. Но я подумал, что возможно есть какие-то более короткие/красивые решения, на подобии findIndex() JS'е или что-то в таком ключе
next(i for i, d in enumerate(x) if d['id'] == 2)
спасибо, попробую!
Если у тебя в списке только элементы вида {id:int}, то можешь использовать метод index у списка
там элементы у которых однозначно есть ID, но остальные свойства — это хаотичный набор полей, в этом случае, если я правильно понимаю, index() у списка не поможет
Обсуждают сегодня