Python 翻转变量及其';s值
我已经做了一些关于如何翻转变量名和变量值的研究,但是我空手而归 我想要什么 让我用一个例子来说明我想要什么。 假设我有一个名为Python 翻转变量及其';s值,python,variables,Python,Variables,我已经做了一些关于如何翻转变量名和变量值的研究,但是我空手而归 我想要什么 让我用一个例子来说明我想要什么。 假设我有一个名为my\u variable的变量,它的值是一个字符串'my\u new\u variable' my_variable = 'my_new_variable' 有没有办法让我把这些翻过来,让它看起来像这样 my_new_variable = 'my_variable' 您可以尝试这样做(在安装python varname之后): 口述是做到这一点的适当方式。用数据驱动
my\u variable
的变量,它的值是一个字符串'my\u new\u variable'
my_variable = 'my_new_variable'
有没有办法让我把这些翻过来,让它看起来像这样
my_new_variable = 'my_variable'
您可以尝试这样做(在安装python varname
之后):
口述是做到这一点的适当方式。用数据驱动内部符号名是程序设计不佳的一个明显标志。请使用dict,并参阅。外部数据应该驱动数据关系,而不是内部表示。通过这样做,您可以使算法的结构依赖于数据。数据操作应该独立于这些特定值
你能做到;;在这个网站上做一点研究会给你提供参考。不要。如果你想那样做,怎么样
globals()[my\u variable]=“my\u variable”
几乎所有发表评论的人都建议这样做的一种方法是使用字典,然后翻转键和值
variables = {'my_variable':'my_new_variable'}
flipped = {v:k for k,v in variables.items()}
输出
{'my_new_variable': 'my_variable'}
你的字典解决方案似乎是可行的;为什么这还不够呢?事实上,字典是处理这类事情的最佳方式。你真的想调试由
my_variable='variables'
造成的混乱,还是不经意间引用了代码中现有变量的其他东西?我同意你应该研究使用dict
以外的方法。这太容易了。因为这似乎是一个X-Y问题,真正的问题是什么?@barny是的,我考虑过这个问题。但是我想用另外两种方法来纠正字典。也许我会收到一个不涉及使用的。嗯,这可能是一个解决方案。。。
{'my_new_variable': 'my_variable'}