我希望模式的长度与数据段的长度相匹配,这哪里出错了?你知道吗
data_segment = [] #an empty list
data_series = [-1, 2, -2, 3, 41, 38, 22, 10, -1, 3]
pattern = [40, 30, 20, 10]
out_list = [] #an empty list to contain the final output
length = len(pattern) #length of pattern list
for i, v in enumerate(data_series):
if i + length > len(data_series) + 2:
break
data_segment.append([v, data_series[i+1]])
print(data_segment)
哪个指纹
[[-1, 2], [2, -2], [-2, 3], [3, 41], [41, 38], [38, 22], [22, 10], [10, -1], [-1, 3]]
但我需要打印出来
[[-1, 2, -2, 3], [2, -2, 3, 41], [-2, 3, 41, 38], [3, 41, 38, 22], [41, 38, 22, 10], [38, 22, 10, -1], [22, 10, -1, 3]]
你的代码
正在创建两元素列表的列表。不是你想要的输出。你知道吗
您需要生成一个模式长度的重叠切片列表,并进行一些截断,以便仅在一行中使用列表理解而不是循环生成模式长度的子列表:
印刷品:
相关问题 更多 >
编程相关推荐