简洁的python方法来更改值(如果它不是Falsey

时间:2019-06-28 09:02:46

标签: python python-3.x

我经常有这样的习惯用法(实际上是选择了很长的变量名):

if variable_name:
    another_variable = " - " + variable_name
else:
    another_variable = variable_name

它的实际作用似乎相当漫长而复杂。 我搜索stackoverflow,认为每次都必须有更好的方法。

以下是我经过研究得出的最好结果。

another_variable = " - " + variable_name if variable_name else variable_name

或另选两行:

another_variable = variable_name 
if variable_name: another_variable = " - " + another_variable

两个选项都可以,但是不像我希望的那样简洁和pythonic。只是让自己休息一下,所以下次我碰到它时,我不会失望 再次出现漏洞:是否有一种方法可以将赋值放在一行上,而不必过多复制变量名?

1 个答案:

答案 0 :(得分:1)

我能想到的最好的方法是使用and运算符

another_variable = variable_name and '-' + variable_name

[编辑]:我没有看到它,但像已经发布了这个答案那样递减