2011-08-04 70 views
1

我剛開始學習Python。如何獲得Python中列表中的最後一個非空項目?

我有一個列表:

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

我如何在列表中的最後一個非空項目?在這種情況下,'蘋果'。

我在Get first non-empty string from a list in python看到,他們得到了第一個非空值。不知道如何獲得最後一個。

+3

這不是一個有效的Python表達式,更不用說名單。 – delnan

+0

我想他只是註釋它,所以我們會知道他的意思是空的:) – agf

+0

對不起,它實際上是一個使用xlrd的對象列表。 – dardub

回答

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

如果你真的有一本字典,使用reversed(dictionary.values()),但請記住,任何你做的字典可以改變它的排序規則,並且它不是以一致的方式不同Python版本之間甚至對於一個給定的有序州。

如果您希望按照廣告訂單的順序繼續使用密鑰,請使用OrderedDict

1

此:

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