【发布时间】:2014-11-25 21:14:47
【问题描述】:
在 Python 中,我有一个对象列表,每个对象都有两个变量:
class a_object:
def __init__(self, input1, input2):
self.data1=input1
self.data2=input2
a_list=[]
for i in range(5):
a_list.append(a_object(i,i+5))
我希望能够使用此列表调用函数,并且该函数将有一个参数来确定是对 data1 还是 data2 进行操作。
例如:
def find_sum(list_name, variable_name):
total=0
for i in range(len(list_name)):
total=total+list_name[i].variable_name
return total
total1=find_sum(a_list,data1) #0+1+2+3+4
total2=find_sum(a_list,data2) #5+6+7+8+9
我可以将 variable_name 参数设为一个整数,并在 if 语句中为每个整数值包含一个函数代码版本,但这不太通用。
【问题讨论】:
-
类a_object ??这有效吗?
-
嗯,它是有效的,假设
input1和input2是全局变量,其值符合type协议,self是一个全局变量__dict__… 但它并不完全有用 -
@gosom - 我认为 OP 正在发布伪代码。我编辑了他的答案以获得正确的语法。
标签: python list function object