python-3.x - NameError:在封闭范围内分配之前引用了自由变量“列表”
问题描述
我正在尝试编写一个十进制缩放函数,该函数接收列表列表作为输入参数。
def decimal_scale(data):
#calculate the maximum absolute value for each attribute
grouped_attributes = [list(attributes) for attributes in zip(*data)]
#absolute list of list grouped attributes
absolute_attributes = []
for item in grouped_attributes:
list = []
for i in range(0, len(item)):
list.append(abs(item[i]))
absolute_attributes.append(list)
max_att_val = []
for abs_att_list in absolute_attributes:
abs_att_list.sort()
max_att_val.append(abs_att_list[-1])
#calculate the appropriate k for each attribute
k_attributes = []
for max in max_att_val:
k = 0
while max/(10**k) > 1:
k+=1
k_attributes.append(k) #appropriate ks for all the Attributes
res = []
for item in data:
res.append([item[i]/(10**(k_attributes[i])) for i in range(0, len(item))])
return res
当我运行此代码时,我收到错误:
文件“mynormalize.py”,第 39 行,在
grouped_attributes = [list(attributes) for attributes in zip(*data)]
NameError:在封闭范围内分配之前引用了自由变量“列表”
有人可以建议解决这个问题的方法吗?也许是一种更有效的方法?
解决方案
您正在使用列表list = []
,更改此列表的名称,它必须工作
推荐阅读
- r - 使用 NA 对多列进行滚动回归
- stored-procedures - 在 terraform 中使用 google_bigquery_routine 模块时如何传递过程参数?
- excel - 如何将多个 csv 文件导入 Excel 中的查询连接?
- r - 大图中的随机会议:在 R 中添加或删除图边的有效方法
- r - 从列表列表中提取数据框时保留行名
- powerbi - Power BI 和 Snowflake 集成,使用直接查询对坐标进行过滤会给出错误的小数精度
- app-store-connect - App Store Connect:我是否需要创建另一个应用程序以通过 TestFlight 共享具有不同捆绑 ID 的 beta 版本?
- gitlab-ci - 使用 gitlab ci 添加魅力趋势
- python-3.x - 访问 Azure Auto ML 的 Azure 数据存储时出现 SSL 错误
- simulation - 多重插补的 Ancova 模拟