如何在Python中获取列表的最后一个非空项?
我今天刚开始学习Python。
我有一个列表:
[text:u'Oranges', text:u'Apples', empty:'', empty:'']
我该如何获取列表中最后一个非空的项目呢?在这个例子中,就是“苹果”。
我在获取Python列表中的第一个非空字符串中看到,他们是获取第一个非空的值。我不太确定怎么获取最后一个。
2 个回答
6
这个:
d = [1, 2, 3, "", 4, "", 5, ""]
last_non_empty = [i for i in d if i][-1]
9
next(s for s in reversed(list_of_string) if s)
如果你真的有一个字典,可以用 reversed(dictionary.values())
来反转它的值。不过要注意的是,对字典做的任何操作都可能会改变它的顺序。而且在不同版本的Python中,即使是同样的状态,字典的顺序也不一定是一样的。
如果你想要保持键的插入顺序,可以使用 OrderedDict
。