【发布时间】:2018-10-05 01:46:34
【问题描述】:
我有一个这样的索引列表:
index_max = [5, 5, 5, 5, 6, 7, 14, 15, 16, 16, 16, 16, 18, 18, 32, 32, 34, 34, 34, 34, 35, 38, 42, 42, 42, 42, 45]
我得到一个:
pattern_width = 4
n = pattern_width
final_list = []
我将如何遍历一次分析 n 个元素的列表,如果存在所有元素的值相等的情况,它们将被附加到一个空列表中?
因此,由于前 4 个元素是 [5, 5, 5, 5],因此值 5 将附加到 final_list。但是,由于接下来的 4 个元素是 [5, 5, 5, 6],因此不会附加。
解决方案是 [5, 16, 34, 42]
我一直遇到的问题是list index out of range。
我的做法是:
for i in range(len(index_max)):
x = index_max[i]==index_max[i+(pattern_width)
final_list.append(x)
但是,这在列表末尾不起作用。我将如何解决这个问题?谢谢。
【问题讨论】:
-
列表总是排序的吗?
标签: python python-3.x list indexing range