如果变量等于50个已知值之一,那么重新分配变量的最佳方法是什么?

时间:2017-06-29 05:11:19

标签: python python-3.x

主要目的是我的代码是:

如果变量x等于某个值,那么我想用不同的值重新分配x。例如,如果x = a然后将x重新分配给= 1但是如果x = b然后将x重新分配给= 2.我有大约50个值我要比较x,看它是否等于其中一个。

凭借我的基本Python知识,我可以通过在函数中使用50个if语句来看到实现此目的的一种方法,哈哈但是肯定必须有更简单的代码更高效的方法吗?

def testfunc(x):
    if x == "url1":
        x = 'company1'

    if x == 'url2':
        x = 'company2'

    if x == 'url3':
        x = 'company3'

    # plus 47 more 'if' statements
    return x

我在想使用字典可能会更好,如果x = key然后使x =值,这会是一个更好的方法吗?或者有更好的方法吗?

有关编写此代码的最佳方法或启动我的简单示例的一些方向将非常感激。

1 个答案:

答案 0 :(得分:2)

是的,字典会很好用。

def testfunc(x):
    d = {
        'url1': 'company1',
        'url2': 'company2'
    }
    return d[x]

x = 'url1'
x = testfunc(x)
print(x)    # 'company1'