У меня есть список объектов Account в self.accounts
, и я знаю, что только один из них будет иметь атрибут type
, равный 'equity'. Какой лучший (самый пифонический) способ получить только тот объект из списка?Получить конкретный объект из списка с определенным параметром
В настоящее время у меня есть следующее, но мне интересно, является ли [0]
в конце излишним. Есть ли более сжатый способ сделать это?
return [account for account in self.accounts if account.type == 'equity'][0]
«Мне интересно, если [0] в конце лишний»? Зачем удивляться? Попробуй. После того, как вы попробовали это, попробуйте другие вещи, такие как печать промежуточных результатов выражений. –
Нет, это не лишнее, потому что оно определяет, вернете ли вы список (возможно, ноль или более элементов в нем) или только первый элемент в этом списке (и предположим, что он не пуст). Если это то, что вы хотите, это довольно красноречиво. – martineau
То, что я имел в виду, лишним, было обертывание в списке только для того, чтобы вытащить его обратно. Как я это сделал, я знал, что это необходимо, но я искал способ пропустить этот шаг. – keithjgrant