有条件地设置python变量

时间:2012-05-30 09:17:17

标签: python variables

我想根据其他变量设置变量。就我而言 var1可以是“mean”,“sum”或“max”(从gui解析的输入)。根据我想要的这些字符串 设置(有条件地)另一个变量;喜欢:如果var1是“mean”那么 var2 = 2,如果var1 =“sum”则var2 = 4,如果var1 =“max”则var2 = 6.

最好的方法是什么(初学者)?如果我在if else程序中使用它我 需要使变量全局使用它们也在if之外吗? 有推荐的程序吗?

3 个答案:

答案 0 :(得分:6)

使用字典:

d = {'mean': 2,
     'sum': 4,
     'max': 6}
var2 = d.get(var1)

如果var1中未包含d,则var2将默认为None。如果您想要另一个默认值:

var2 = d.get(var1, 0)

答案 1 :(得分:2)

如何使用字典?

mapping = {'mean': 2
         , 'sum' : 4
         , 'max' : 6
          }
var1 = 'mean'
var2 = mapping[var1]
# or
var2 = mapping.get(var1) # To avoid KeyErrors

答案 2 :(得分:2)

由于python没有内置的switch-case语句,pythonic方法就是使用dict:

>>> d = {'mean': 2, 'sum': 4, 'max': 6}
>>> var1 = "max"
>>> var2 = d[var1]
>>> var2
6

您不再需要考虑变量的范围(尽管考虑它是一个很好的问题!)。