2016-09-05 2 views
-2

다음 파이썬 목록 있음 [0.0, 5.0, 2.0, 0.0, 0.30000000000000004] 가장 긴 연속 시퀀스의 수를 반환하고 싶습니다. 항목 0.5목록에서 파이썬의 특정 범위에있는 연속 항목을 찾는 방법

예상 결과 : 은 [0.0, 5.0, 2.0, 0.0, 0.30000000000000004] 당신은 여기 아래 작업 예제 찾을 수 2

+0

당신이 지금까지 시도 무엇? –

+0

특별히 어려움을 겪고있는 것은 무엇입니까? 당신이 시도한 것을 말하지 않는다면 그 문제를 해결하기가 어렵습니다. –

+0

목록에서 필요한 범위를 충족하는 항목 수를 출력 할 수 있습니다. 다른 문제들과 연속되는 항목을 분리하는 방법은 무엇입니까 –

답변

0

의 출력을 제공한다 :

list = [0.0, 5.0, 2.0, 0.0, 0.30000000000000004] 
listDict = {} 

for idx, val in enumerate(list): 
    for idx2, val2 in enumerate(list): 
     if idx != idx2 and list[idx] != list[idx2] and abs(list[idx] - list[idx2]) < 0.5: 
      listDict[str(list[idx])] = True 
      listDict[str(list[idx2])] = True 

print (len(listDict)) 

을 그리고 이것은입니다. 라이브 샘플의 경우 0입니다.

+0

@Jim 이것은 Python 3입니다. 그래서 나에게 유권자 투표를하지 않으시겠습니까? – webmaster

0

가능하지만, 불안정 방법 :

def number_of_consecutive(data, min_threshold, max_threshold): 

    sum_consec, max_value = 0,0 

    for element in data: 
     if element <= max_threshold and element >= min_threshold: 
      sum_consec += 1 
      if sum_consec > max_value: 
       max_value = sum_consec 
     else: 
      sum_consec = 0 
    return max_value 

주어진 목록 0.5 범위는 0에서 요소를 찾으려면 :

print number_of_consecutive([0.0, 5.0, 2.0, 0.0, 0.30000000000000004], 0.0, 0.5) 
"2" 
관련 문제