我可以根据另一个变量更改变量的名称吗?

Can I change the name of a variable depending on another variable?

我想使用另一个变量来更改一个变量,而不是使用无聊的旧方法:

if choice == 'tuna':
  tuna_num -= 1

相反,我想像下面看到的方法一样快速地完成它:

tuna_num = 1
bacon_num = 1

#important bits v
choice = input('Choose a variable name to edit')
(choice)_num -= 1
print((choice)_num)

(对不起,如果这很简单或者我只是愚蠢)

使用字典:

nums = {
    'tuna': 1,
    'bacon': 1,
}

choice = input('Choose a variable name to edit')
nums[choice] -= 1
print(nums[choice])

这是一件很糟糕的事情,但是:

>>> a = 1
>>> vars()['a'] = 2
>>> print(a)
2

所以:

tuna_num = 1
bacon_num = 1

#important bits v
choice = input('Choose a variable name to edit')
if f"{choice}_num" in vars():
    vars()[f"{choice}_num"] -= 1
print(vars()[f"{choice}_num"])