在Python中将“A或B”赋值给变量的最简方式是什么?
你好,Python专家们,
我想知道有没有更简短的方法来给一个变量赋值,如果"A"存在就赋值为"A",如果不存在就赋值为"B"。
假设我有:
mydict = {'a': 'apple', 'b': 'banana', 'c': 'Cherry'}
那么,按照我的理解,给这个mydict变量中不存在的键赋值的最简短(也就是一行代码)的方法是:
myvar = mydict['m'] if 'm' in mydict else 'Melon'
但是有没有更短的方法呢?
在Ruby中,我会这样做:
myvar = mydict[:m] || 'Melon'
只是想问问。提前谢谢你们!
3 个回答
3
你可以试试:
myvar = mydict.get('m', 'melon')
这里的第二个参数是一个默认值,用来在找不到键'm'的时候使用。
可以查看这个链接了解更多信息:http://docs.python.org/library/stdtypes.html
4
我认为使用get()
这个方法比用if/else
的方式要更好。
myvar = mydict.get('m', 'melon')
5
在这个特定的情况下(从字典中获取一个项目),有一个快捷方式可以使用——那就是 get
方法,它可以让你设置一个默认值。
myvar = mydict.get('m', 'Melon')