【问题标题】:How do I get the last non-empty item in a list in Python?如何在 Python 中获取列表中的最后一个非空项?
【发布时间】:2011-08-04 18:23:14
【问题描述】:

我今天刚开始学习 Python。

我有一个清单:

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

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

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

【问题讨论】:

  • 这不是一个有效的 Python 表达式,更不用说一个列表了。
  • 我认为他只是在注释它,所以我们知道他所说的空是什么意思:)
  • 对不起,它实际上是一个使用 xlrd 的对象列表。

标签: python list generator


【解决方案1】:
next(s for s in reversed(list_of_string) if s)

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

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

【讨论】:

    【解决方案2】:

    这个:

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

    【讨论】:

      猜你喜欢
      • 2010-10-13
      • 1970-01-01
      • 2021-07-17
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 2017-03-11
      • 2011-12-28
      相关资源
      最近更新 更多