如何在Python中的字符串生成代码行中包含条件

时间:2015-02-22 17:06:40

标签: python string conditional

我正在努力实现这一目标:

myString = "%s" % ("banana" if myDict['fruit'] not 'None' else: "NOT a banana")

我想保持优化并在生成字符串时执行逻辑。在字符串生成器中执行逻辑的正确语法是什么。

编辑:

所以上面的例子是有点匆忙构建的,这里有希望改进这个问题的东西,而且这个工作正常:

newValue = "%s %s %s" % ("apple","cherry",("NOT a fruit" if fruit[someKey]=='None' else fruit[someKey]))

2 个答案:

答案 0 :(得分:0)

if myDict['fruit']:
    myString = 'banana'
else:
    myString = 'NOT a banana'

答案 1 :(得分:0)

您的要求有点模糊,因此我会对您的问题提出两种可能的解释。

如果您正在尝试检查字典中是否有"fruit",则以下操作会执行此操作:

myString = "banana" if "fruit" in mydict else "NOT a banana"

如果"fruit"mydict可以出现None但设置为myString = "banana" if mydict.get("fruit") is not None else "NOT a banana" ,则代码需要略有不同:

{{1}}