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

时间:2011-08-04 18:23:15

标签: python list generator

我今天刚开始学习Python。

我有一个清单:

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

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

我在Get first non-empty string from a list in python中看到,他们获得第一个非空值。不知道如何获得最后一次。

2 个答案:

答案 0 :(得分:7)

next(s for s in reversed(list_of_string) if s)

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

如果您希望按键保持插入顺序,请使用OrderedDict

答案 1 :(得分:3)

此:

d = [1, 2, 3, "", 4, "", 5, ""]
last_non_empty = [i for i in d if i][-1]