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)