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

2 投票
2 回答
5785 浏览
提问于 2025-04-16 22:54

我今天刚开始学习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

撰写回答