如何以新变量的名称调用变量
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 变量?
如何在 AJAX 调用中获取 JavaScript 变量作为 Laravel 路由名称
如何从具有隐藏变量名称(参数前的_)或内部+外部(例如 foo(with bar:))的 Objective-C 调用 Swift 函数