【发布时间】:2016-10-10 05:27:30
【问题描述】:
在数组中查找和输出一行重复整数的简单方法是什么
例如,1 2 3 4 4 4 5 6 的数组应该输出4 4 4
【问题讨论】:
-
1 2 3 4 4 4 5 6 4的答案应该是什么? -
您只是在寻找相邻的重复项吗?序列会一直排序吗?
标签: python
在数组中查找和输出一行重复整数的简单方法是什么
例如,1 2 3 4 4 4 5 6 的数组应该输出4 4 4
【问题讨论】:
1 2 3 4 4 4 5 6 4 的答案应该是什么?
标签: python
对于极端情况,有很多方法可以用不同的输出来回答这个问题,但是对于正确解决特别提到的情况的最小示例来说,这又如何呢?
x = [1, 2, 3, 4, 4, 4, 5, 6]
ind = [a==b for a,b in zip(x[:-1],x[1:])].index(True)
y = [a for a in x if a==x[ind]]
print(y)
给[4, 4, 4]
【讨论】:
下面的代码将列出所有重复项的序列列表。
list = [1, 2, 3, 4, 4, 4, 5, 6, 6, 7, 8, 8, 8, 8, 3, 4, 2, 3, 3]
last = None
sequences = []
series = []
list.append('last')
for item in list:
if item == last:
series.append(last)
elif series:
series.append(last)
sequences.append(series)
series = []
last = item
if series:
series.append(last)
sequences.append(series)
print sequences
会输出
>>> [[4, 4, 4], [6, 6], [8, 8, 8, 8], [3, 3]]
【讨论】: