python - 如何使用从一个函数到另一个函数的列表值
问题描述
我正在尝试从用户那里获取一组值并打印 max, min 和 mean values 。但我无法访问我在 insert() outside 中获取的温度值 (t[])。有人可以帮我吗 。
我尝试将列表 t 作为参数传递给另一个函数,但它说 TypeError: iteration over non-sequence
class TempTracker:
def insert(self, temp):
t = []
self.temp = temp
t.append(self.temp)
return t
def get_max(t):
for i in t:
print(i)
def get_min():
pass
def get_mean():
pass
a = TempTracker()
b = TempTracker()
temp = [1, 2]
a.insert(temp)
b.insert(3)
a.get_max()
我应该得到每次传递的值列表的最大值、最小值和平均值
解决方案
您需要初始化您的类,以便在每个类函数中都有可用的值。这样你就可以通过引用 self 来调用这些值:
class TempTracker:
def __init__(self):
self.t = list()
self.temp = None
def insert(self, temp):
self.temp = temp
self.t.append(self.temp)
print("test", self.t)
return self.t
def get_max(self):
for i in self.t:
print(i)
def get_min():
pass
def get_mean():
pass
def main():
a = TempTracker()
b = TempTracker()
temp = [1, 2]
a.insert(temp)
b.insert(3)
a.get_max()
这样,您还可以使用值而不是使用插入来初始化您的类:
def __init__(self, values):
self.temp = values
self.t.append(self.temp)
推荐阅读
- python-3.x - 在执行多处理池时跟踪字典中的值
- sql - 过滤表,以便不返回交换列重复的行
- configuration - Web.config 中无法识别的属性“requestPageSize”
- qt - 在 32 位 Qt5 应用程序中启用 LARGEADDRESSAWARE 是否安全?
- sql - 基于一列模式的 SAS/SQL 连接匹配另一列
- api - googleapi:错误 400:错误请求,失败前提条件
- tensorflow - 挤压一层的输出
- ansible - 如何解决读取 id_rsa.pub 时“无法在查找中找到文件”的问题?
- python - 从熊猫数据框中删除包含重复数据的列?
- r - 在基于摇杆的 Docker 容器中使用 h2o.xgboost 中的 GPU 后端