2016-10-10 2 views
0

은 무엇을 발견하고 배열 예를 들어배열에서 반복 정수 목록을 가져 오는 방법은 무엇입니까?

에 반복 정수의 행을 출력하는 간단한 방법이 될 것입니다 1 2 3 4 4 4 5 6의 배열을 출력해야 다른 출력이 질문에 대답하기 위해 꽤 몇 가지 방법이있다 4 4 4

+2

'1 2 3 4 4 4 5 6에 대한 대답은 무엇을 할 수 4'해야합니까? –

+1

인접한 중복 상품 만 찾고 계십니까? 순서가 항상 정렬됩니까? –

답변

0

코너 케이스의 경우, 구체적으로 언급 된 사례를 올바르게 해결하는 최소한의 예를 들어 보겠습니다.

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]

0

제공합니다.

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]] 
관련 문제