python - 添加包含 -1 的列表并将其与整数相乘的目的是什么?
问题描述
最近在看一篇深度学习论文相关的代码,repo在这里:https ://github.com/wuyifan18/DeepLog/blob/master/LogKeyModel_predict.py
这与python有更多的关系,所以我不会提及它。下面是我们需要解析的文件:
5 5 5 22 11 9 11 9 11 9 26 26 26 23 23 23 21 21 21
5 5 22 5 11 9 11 9 11 9 26 26 26
5 22 5 5 11 9 11 9 11 9 26 26 26
5 22 5 5 11 9 11 9 11 9 26 26 26
5 22 5 5 11 9 11 9 11 9 26 26 26 23 23 23 21 21 21
22 5 5 5 11 9 11 9 11 9 26 26 26 23 23 23 21 21 21
5 22 5 5 11 9 11 9 11 9 26 26 26 23 23 23 21 21 21
5 5 5 22 11 9 11 9 11 9 26 26 26 2 23 23 23 21 21 21
5 22 5 5 11 9 11 9 11 9 26 26 26
以下函数应该解析它。首先,我们取每一行,并制作一个列表,其中元素是该行中的数字,由空格分隔。然后我们在 line 处将所述数字减一###
。接下来发生什么?
def generate(name):
hdfs = set()
# hdfs = []
with open('data/' + name, 'r') as f:
for ln in f.readlines():
ln = list(map(lambda n: n - 1, map(int, ln.strip().split()))) ###
ln = ln + [-1] * (window_size + 1 - len(ln))
# print(ln)
hdfs.add(tuple(ln))
print('Number of sessions({}): {}'.format(name, len(hdfs)))
return hdfs
我不确定确切的目的ln = ln + [-1] * (window_size + 1 - len(ln))
是什么。它在做什么?我以前没有看到在很多地方使用过列表乘法,所以我不确定。当我尝试打印更多内容时,似乎-1
根本不存在ln
。有人有什么想法吗?
解决方案
在不深入研究代码的情况下,我们的想法是根据窗口使所有行的长度相同
推荐阅读
- python - 使用 reg ex 和 re.sub 匹配模式
- svg - 如何指定 SVG 文档中重用元素的线条粗细?
- python - 导入错误:尝试在没有已知父包的情况下进行相对导入
- python - 在 tika 中改变语言
- sql - 如何在 sql 中添加动态列以满足以下要求
- html - 如何将域设置为 HTML ahrefs
- java - 使用Java将笛卡尔坐标转换为不同的比例
- java - 在Java内部如何工作==运算符,无法分析
- angular - 如何调试 Angular 项目中损坏的 ng lint
- python - 如何使用 sympy.plotting 绘制 SymPy 的内置函数