간단한 방법 :
def grpBySameConsecutiveItem(l):
rv= []
last = None
for elem in l:
if last == None:
last = [elem]
continue
if elem == last[0]:
last.append(elem)
continue
if len(last) > 1:
rv.append(last)
last = [elem]
return rv
print grpBySameConsecutiveItem([1,2,1,1,1,2,2,3,4,4,4,4,5,4])
출력 : 당신이 분류 또는 대한 Inputlist를 정렬해야 할 경우 당신은 당신은 더 이상 연속 동일한 번호를 얻을 wouldnt가, 나중에 당신의 출력을 정렬 할 수 있습니다
[[1, 1, 1], [2, 2], [4, 4, 4, 4]]
그래도.
색인에 따라 목록을 정렬하는 방법은 https://stackoverflow.com/a/4174955/7505395을 참조하십시오. 내부 목록이 모두 동일하므로 색인을 사용하여 목록을 정렬하는 방법은 0을 사용하십시오.
def grpByValue(lis):
d = {}
for key in lis:
if key in d:
d[key] += 1
else:
d[key] = 1
print(d)
rv = []
for k in d:
if (d[k]<2):
continue
rv.append([])
for n in range(0,d[k]):
rv[-1].append(k)
return rv
data = [1,2,1,1,1,2,2,3,4,4,4,4,5,4]
print grpByValue(data)
출력 :
[[1, 1, 1, 1], [2, 2, 2], [4, 4, 4, 4, 4]]
목록이 분류되어 있습니까? – Engineero