在Python中为变量分配"A或B"的最短路径?

Sac*_*cki 0 ruby python ternary-operator

你好Python专家,

我想知道,如果"A"为真(即存在),则是否有更短的方法为变量赋值"A",如果不存在则为"B".

假设我有:

mydict = {'a': 'apple', 'b': 'banana', 'c': 'Cherry'}
Run Code Online (Sandbox Code Playgroud)

然后,据我所知,在这个mydict var中分配一个不存在的值的最短(好,一行)方式是:

myvar = mydict['m'] if 'm' in mydict else 'Melon'
Run Code Online (Sandbox Code Playgroud)

但有没有更短的方法呢?

在Ruby中,我会这样:

myvar = mydict[:m] || 'Melon'
Run Code Online (Sandbox Code Playgroud)

就是想.提前致谢!

小智 5

在这种特殊情况下(从字典中获取项目),有一个可用的快捷方式 - 该get方法允许使用默认值.

myvar = mydict.get('m', 'Melon')
Run Code Online (Sandbox Code Playgroud)