如何在Python中获取列表中的最后一个非空项?

dar*_*dub 2 python list generator

我今天刚开始学习Python.

我有一个清单:

[text:u'Oranges', text:u'Apples', empty:'', empty:'']
Run Code Online (Sandbox Code Playgroud)

如何获取列表中的最后一个非空项?在这种情况下,'苹果'.

在python的列表中看到获取第一个非空字符串,它们获得第一个非空值.不知道如何获得最后一个.

agf*_*agf 9

next(s for s in reversed(list_of_string) if s)
Run Code Online (Sandbox Code Playgroud)

如果你真的有一本字典,请使用reversed(dictionary.values()),但请记住,你对字典做的任何事情都可以改变它的排序,并且即使对于给定的状态,它也不会以不同版本的Python之间的一致方式排序.

使用的OrderedDict,如果你想保持插入顺序按键.


Gab*_*oss 6

这个:

d = [1, 2, 3, "", 4, "", 5, ""]
last_non_empty = [i for i in d if i][-1]
Run Code Online (Sandbox Code Playgroud)