您好,我想从给定序列中获取相同数字的子序列。 子序列应作为列表返回。
例如
input = [4, 5, 67, 2, 4, 4, 4, 6, 2, 2, 3]
和
output = [ [4, 4, 4], [2, 2] ].
我在使用 for 循环时遇到问题,因为当我比较列表的两个元素时,例如:
for i in seq:
if i == seq[i+1]
我收到列表索引超出范围的错误。 我知道这并不复杂,但我才刚刚开始编程。
最佳答案
当您的循环到达数组中的最后一个元素时,在您的示例 3
中,您试图获取“下一个元素”seq[i+1]
但是没有一个,因为3是最后一个。
因此,您可以尝试检查是否有下一个元素。
for i in seq:
next = seq[i+1] if i < len(seq) else None
if next and i == next
关于python - python中给定数字序列的常量子序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36272752/