2016-09-17 4 views
-1

다음 목록에서 86.1 및 90.1 (또는 86.2 및 90.2)과 같은 숫자를 제거하려면 어떻게합니까?목록에서 비슷한 번호 제거

86.1  86.2  90.1  90.2 
+0

질문하는 내용을 이해할 수 없습니까? – Hackaholic

+0

공차 값을 'tolerance = 3'으로 정의하십시오. 이제 각 요소를이 값으로 나누고 다시 곱하십시오. 이제'set '을 사용하여 원하는 결과를 얻으십시오. – ZdaR

+0

어떻게 유사하게 정의합니까? 두 개가 비슷한 경우 어느 것이 제거 될 것입니까? – Jeon

답변

0

, 임계 값을 정의 정렬 된 숫자를 반복하고 임계 값 내에 숫자를 추가

numbers = [86.1, 86.2, 90.1,90.2] 

threshold = 1 
numbers = iter(numbers) 
amount = last = next(numbers) 
count = 1 
result = [] 
for number in sorted(numbers): 
    if number - last > threshold: 
     result.append(amount/count) 
     amount = count = 0 
    amount += number 
    count += 1 
    last = number 

result.append (양/수)

0

이 시도 :

base = [86.1, 86.2, 90.1, 90.2] 
# remove = [86.2, 90.2] 
remove = [86.1, 90.1] 

new_list = [item for item in base if item not in remove] 
print(new_list) 

스택 오버플로 게시 Remove list from list in Python 자세한 정보가 있습니다.

0
inputList=[86.1, 86.2, 90.1, 90.2] 

tolerance=1.0 
out=[] 
for num in inputList: 
    if all([abs(num-outAlready)>tolerance for outAlready in out]): 
     out.append(num) 

print out