如何在if语句中获取当前比较的值

时间:2012-04-17 10:59:11

标签: python

if not sky.has_key('blue'):
    get_currently_compared_key # blue
elif not sky.has_key('cloud'):
    get_currently_compared_key # cloud

在上面的代码中,我想在if语句中得到'blue'。有什么有用的方法吗?

编辑1:如果天空=='蓝色' - >如果不是天空=='蓝色' 编辑2:如果不是sky.has_key('blue')......

2 个答案:

答案 0 :(得分:2)

在结果中没有可以扩展到blue的魔术标识符,如果这就是你的意思,虽然sky显然具有你在之后的值。

修改:我想你的意思是sky != 'blue'而不是not sky == 'blue'。不,没有神奇的方法来获得条件下的比较值。再次键入'blue'或创建一个将其保留在条件之外的变量:

BLUE = 'blue'

if sky != BLUE:
    make_the_sky(BLUE)

编辑2 :好的,所以它是has_key。仍然没有魔力。请注意,has_key已被弃用了相当长的一段时间,支持'blue' in sky(或'blue' not in sky)。

答案 1 :(得分:1)

不,这样做的唯一方法是显而易见的:

sky_colour = 'blue'
if not sky == sky_colour:
    do_something(sky_colour)

或者编辑:

sky_colour = 'blue'
if sky_colour not in sky:
    do_something(sky_colour)
不需要

has_key() - 请改用in关键字,它更具可读性。