2014-11-05 2 views
0

목록에서 1 위와 2 위에서 가장 큰 숫자를 찾고 목록에서 5 위 자리로 되 찾으려합니다. 이것을 시도했지만 목록 색인이 범위를 벗어났습니다. 어떤 도움을 주셔서 감사합니다.목록에서 가장 높은 숫자와 추가

for i in range(0, len(sort)): 
    if sort[i][2] > sort[i][1]: 
     sort[i][2] = sort[i][1] 
    sort[i][2].append 
print(sort[i][5]) 
+2

* 목록의 위치 5에 * 표시 하시겠습니까? – Kasramvd

+2

'sort'의 정의를 붙여 줄 수 있습니까? – Celeo

+0

죄송합니다. 순위 5에 가장 높은 점수를 저장한다는 의미입니다. 이미 위치 4에 데이터가 있으므로 추가해도 작동합니다. 감사합니다 – learningpython

답변

0

이미 지적 된 코드에는 몇 가지 문제점이 있습니다.

  • APPEND는
  • 는 종류에 호출 할 필요가
  • [내가] 대신 일종의 [I]의 [2]
  • 인쇄 문 루프의 내부에 있기 때문에 한 번을 할 필요가 괄호로 호출 할 필요가 for 루프는

대신 이것을 고려 내가 렌 (종류), 그래서 일종의 [내가] 범위 에러에서 인덱스를 던질 것 같다, 수행됩니다

for i in range(len(sort)): 
    sort[i].append(max(sort[i][1], sort[i][2])) 
    print(sort[i][-1]) 

마지막 색인 인 것이 확실하다면 sort [i] [- 1] 대신 sort [i] [5]를 인쇄 할 수 있습니다.

+0

아니요? 문제는 "1 위와 2 위에서 가장 큰 번호를 찾은 다음이 번호를 다음 사용 가능한 위치에 추가하십시오"입니다. 그게 내 해결책입니다. – linus

+0

아마도이 설명을 답에 추가하여 자신이하는 일을 설명 할 수 있습니다. – jgritty

+0

충분합니다. 편집 됨. 감사합니다. – linus

관련 문제