【问题标题】:replace empty string(s) in tuple替换元组中的空字符串
【发布时间】:2011-03-04 22:52:00
【问题描述】:

是否有一种简单的方法(希望是单行)将 '' 替换为 '-' 之类的东西?
非常感谢。

tup = (1,2,'ABC','','','','text')

【问题讨论】:

  • 我希望你知道元组是不可变的。您可以这样做,但这会创建一个新元组(因此引用可能会中断)。
  • 为什么人们特别想要单线?

标签: python


【解决方案1】:

下面的呢?

 tuple('-' if x == '' else x for x in tup)

由于Felix Kling cmets、tuples are immutable,所以你能做的最好的就是返回一个新的。

【讨论】:

  • 作为一个非常小的点,我可能会将其反转并写为tuple(x if x != '' else '-' for x in tup),因为通常预期的情况是非空的。
  • @Adam Rosenfield:或者更简洁地说:tuple(x if x else '-' for x in tup)
  • @Adeel:如果 OP 想要保留其他解释为 false 的值,例如 False0[] 等,这将不起作用。
  • @Adam Rosenfield:你是绝对正确的。尽管 OP 提供了示例,但我错误地假设元组是同质的。
猜你喜欢
  • 2013-01-04
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2021-04-19
  • 2014-11-12
  • 1970-01-01
  • 2012-04-26
  • 2014-05-29
相关资源
最近更新 更多