如何以新变量的名称调用变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何以新变量的名称调用变量相关的知识,希望对你有一定的参考价值。

我对Python来说还比较陌生,我想知道如何用新变量的名称来调用变量。

例如,当我有以下两个变量及其值时:

number1 = 100
string1 = 'abc'

并且我想编写一行代码,以便我可以创建名称包含变量number1和string1的值的新变量(例如new_var_100和new_var_abc)

例如:

new_var_(value_of_number1) = 200   ##What to write on LHS?
new_var_(value_of_string1) = 'def'  ##What to write on LHS?

这样,当我调用new_var_100时,它返回200;当我调用new_var_abc时,它返回'def'。

非常感谢。

答案

不确定您是否应该这样做,但是这里是:

string1 = 'abc'

globals()[f"string1number1]=200```
另一答案

[您不能-至少要不涉及一些非常棘手的解决方案。

如果您想将变量名视为字符串,对其进行修改或串联,则实际上需要一个字典:

my_dict = 'number1' = 100, 'string1' = 'abc'

然后,您可以通过将括号内的键值传递来访问这些值-从根本上讲,它们的作用类似于任意变量名:

my_dict['number1']  # returns 100 
my_dict['string1']  # returns 'abc'

然后您可以使用简单的for循环根据某些逻辑来创建新值:

for value in my_dict.values():
    my_dict['new_var_' + str(value)] = 200

[请注意,我的代码只是将键'new_var_100''new_var_abc'都设置为200-如果要以不同的方式更新字符串和整数,则需要额外的逻辑。

以上是关于如何以新变量的名称调用变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在代码中调用创建按钮变量的名称,其中包含数字?

从 C# 方法,如何调用和运行 DLL,其中 DLL 名称来自 String 变量?

如何从 R 中的 GLM 调用中检索原始变量名称的列表?

如何在 AJAX 调用中获取 JavaScript 变量作为 Laravel 路由名称

如何从具有隐藏变量名称(参数前的_)或内部+外部(例如 foo(with bar:))的 Objective-C 调用 Swift 函数

调用一个变量,该变量的值是另一个变量的名称