Как получить последний непустой элемент в списке в Python? - PullRequest
1 голос
/ 04 августа 2011

Я только начал изучать Python сегодня.

У меня есть список:

[text:u'Oranges', text:u'Apples', empty:'', empty:'']

Как получить последний непустой элемент в списке?В этом случае 'Яблоки'.

Я вижу в Получить первую непустую строку из списка в python , они получают first непустое значениеНе уверен, как получить последний.

Ответы [ 2 ]

7 голосов
/ 04 августа 2011
next(s for s in reversed(list_of_string) if s)

Если у вас действительно есть словарь, используйте reversed(dictionary.values()), но имейте в виду, что все, что вы делаете со словарем, может изменить его порядок, и он не упорядочен согласованно между различными версиями Python даже для данного состояния.

Используйте OrderedDict, если хотите, чтобы ключи оставались в порядке вставки.

3 голосов
/ 04 августа 2011

Это:

d = [1, 2, 3, "", 4, "", 5, ""]
last_non_empty = [i for i in d if i][-1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...