Python 对多个变量执行函数

Python 对多个变量执行函数,python,dictionary,Python,Dictionary,我有很多变量要对其执行相同的函数。函数的返回值应该保存在一个变量中,并在其后面附加字母m。我目前正在使用一个字典,但是我在将键值对转换为具有该对的变量名时遇到了问题。我在下面列出了我的方法,我将开始添加这个方法,或者一起使用一个更好的方法 A=4 B=5 C=6 listletter = {'mA':A,'mB':B,'mC':C} for key in listletter : listletter[key]=performfunc(listletter[key]) 请注意,我不想使

我有很多变量要对其执行相同的函数。函数的返回值应该保存在一个变量中,并在其后面附加字母m。我目前正在使用一个字典,但是我在将键值对转换为具有该对的变量名时遇到了问题。我在下面列出了我的方法,我将开始添加这个方法,或者一起使用一个更好的方法

A=4
B=5
C=6
listletter = {'mA':A,'mB':B,'mC':C}
for key in listletter :
    listletter[key]=performfunc(listletter[key])
请注意,我不想使用字典来引用值。我对变量的实际使用是在numpy中,它们已经有很多索引正在进行 而且队伍很长。因此,我需要不同的变量名,而不是dict['variablename'][]

我知道exec函数,但我认为这是一个坏习惯。我也很感激任何关于与任务无关的简单改进的一般建议,也许我应该使用key,value


编辑:我也可以简单地对变量执行函数,但不在它后面附加字母m。我想在a、b和c上执行相同的功能。该函数将返回a、b和c的新值。再次强调,我最终希望以a、b和c的形式访问变量,而不是通过字典

您应该能够使用局部变量将所有局部变量转换为字典,然后在生成的字典中为它们添加m

res = {}
for key, value in locals().items():
   res["m"+key] = somefunc(value)

我不知道你有多少变量。如果你有一把,那么这应该是可行的

a,b,c,d = 31,21,311,11

print("original values: ", a,b,c,d)

#replace the lambda function with whatever function that you want to use.
a,b,c,d = map(lambda x:x**2,(a,b,c,d))

print("changed values,same variables: ", a,b,c,d)

好的,我把函数传递给map的函数参数。我到底要为sequence参数传递什么?如果我创建了一个变量列表,因为它是通过值传递的,python只会返回一个数组,其中包含所有修改过的值,但原始值存储在变量中,而不是相同的列表。即使它是通过引用传递的,通过在其上附加一个m来重命名也不会正常工作?如果您不想使用字典,那么为什么要使用字典来显示示例?请提供实际反映您的代码和问题的示例。字典是实现我的目标的一种手段。我的问题是,我想对许多变量执行一个函数,然后将它们保存为变量名加上字母m。使用字典是我指定要迭代的变量的一种方法。我不希望最终的数据结构是一个字典,我不希望每次使用res引用变量。我希望变量被存储为mkeySee以获得更好的回答谢谢你的帖子。我肯定会在将来记住这一点,但我可能会有10多个变量,我会不断地改变