我想像在C#中那样在Python变量分配中使用条件。
myLang = lang=='en' ? 'en' : lang=='ger' ? 'de' : 'fa';
我发现这个问题说Python有这种归属。
num1 = (20 if someBoolValue else num1)
但是我无法弄清楚它如何工作。是否可以在Python中做类似的事情?
对的,这是可能的:
myLang = 'en' if lang == 'en' else 'de' if lang == 'ger' else 'fa'
一个条件表达式的真假表达式只是更多的表达式。您可以在该位置放置另一个条件表达式。
如果它更易于阅读,则可以在表达式两边加上括号,以便对其进行可视化分组。Python不需要这些,因为条件表达式的运算符优先级非常低;只有lambda
更低。
带括号的内容为:
myLang = 'en' if lang == 'en' else ('de' if lang == 'ger' else 'fa')
但是,有更好的方法可以映射lang
到两个字符串。使用字典,例如:
language_mapping = {'en': 'en', 'ger': 'de'}
myLang = language_mapping.get(lang, 'fa')
'fa'
除非该lang
值在映射中,否则将使用dict.get()
方法默认为。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句