Python 基于输入参数的函数替换
假设我有多个名为Python 基于输入参数的函数替换,python,python-3.x,function,substitution,Python,Python 3.x,Function,Substitution,假设我有多个名为数据w1,数据w2,数据w3,…,数据wn的列表。我有一个函数,它接受一个整数带作为输入,我希望该函数只对相应的列表进行操作 我熟悉字符串替换,但这里我不处理字符串,所以我该如何做呢?一些伪代码: def my_function(band): wband_new = [] for entry in data_wband: # do stuff wband_new.append( #new stuff ) return wba
数据w1
,数据w2
,数据w3
,…,数据wn
的列表。我有一个函数,它接受一个整数带
作为输入,我希望该函数只对相应的列表进行操作
我熟悉字符串替换,但这里我不处理字符串,所以我该如何做呢?一些伪代码:
def my_function(band):
wband_new = []
for entry in data_wband:
# do stuff
wband_new.append( #new stuff )
return wband_new
但是,执行上述操作并没有像预期的那样起作用,因为我得到的错误是,其中的
wband
没有定义。如何执行此操作?假设在函数之前的脚本中有数据
变量。您需要做的是用globals()['data\u w'+str(band)]替换data\u wband
:
不太清楚你在问什么,但是如果你想要列表1,2,…,n,然后是一个整数i,你想要得到第i个列表,只需要有一个列表列表,然后用整数i(在你的例子中称为band)索引外部列表
请添加示例、预期结果和错误。可能重复的
data_w1 = [1,2,3]
data_w2 = [4,5,6]
def my_function(band):
wband_new = []
for entry in globals()['data_w'+str(band)]:
# do stuff
wband_new.append( #new stuff )
return wband_new
l = [data_w1, data_w2, data_w3]
list_to_operate_on = l[band]
func(list_to_operate_on)