>

CSV 파일에서 일련의 숫자에서 최대 및 최소를 찾으려고합니다. 내 코드는 일부 행의 Max 함수에 대해 잘못된 숫자를 계속 반환합니다. 내 코드는 다음과 같습니다.

with open('Cortex_vs_Liver_trial.csv', newline='') as infile:
    reader = csv.reader(infile)
    for row in reader:
        print(row)
        print('The maximun is:', max(row))
        print('The minimum is:', min(row))

내 출력의 예 :

['86.21', '100.00', '96.30']
The maximun is: 96.30
The minimum is: 100.00

내가 뭘 잘못했는지 잘 모르겠다. 몇 가지 조언을 부탁드립니다.

  • 답변 # 1

    목록 요소는 문자열입니다. float 로 변환해야합니다  사전 식으로 (알파벳순으로, 한 번에 한 문자 씩 비교) '100' < '2'   1 < 2 때문에 )

    numrow = [float(x) for x in row]
    print('The maximun is:', max(numrow))
    print('The minimum is:', min(numrow))
    
    

    실제로 문자열을 원하지 않는 경우, 새 목록을 만들지 않고 key=float 를 전달하십시오.  당신의 max() 에  기능 :

    max(numrow, key=float)
    
    

관련 자료

  • 이전 iphone - "변경 불가능한 객체로 전송 된 변경 메소드"오류가 발생합니다
  • 다음 jquery - html5 오디오 루프 4x 재생 후 정지