파이썬(python) 배열은 많은 일들을 쉽게 할 수 있도록 메소드를 내장하고 있다.
메소드 | 메소드가 하는 일 |
count() | 배열 안에 특정한 값이 몇 개 있는지 알려줌 |
extend() | 일련의 항목들을 배열에 추가 |
index() | 항목을 검색하고 해당 인덱스를 반환 |
insert() | 지정한 인덱스 위치에 항목을 추가 |
pop() | 배열을 지정한순서(낮은 것부터 높은 순으로)로 정렬 |
remove() | 배열의 첫 번째 항목을 제거하고 반환 |
reverse() | 배열 항목들의 순서를 반대로 만듦 |
sort() | 배열을 지정한 순서(낮은 것부터 높은 순으로)로 정렬 |
sort() 와 reverse 두 메소드를 사용하면 된다. sort()는 기본적으로 낮은 것부터 높은 순으로 정렬하므로 우리가 원하는 순서의 정반대이다.
그러므로 데이터를 sort()하고 나서 reverse() 하면 된다.
높은 점수로부터 낮은 점수 순으로 정렬하기
scores = []
result_f = open("c://results.txt")
for line in result_f:
(nane, score) = line.split()
scores.append(float(score))
result_f = open("c://results.txt")
for line in result_f:
(nane, score) = line.split()
scores.append(float(score))
result_f.close() // 여기까지 실행되면 모든 데이터가 메모리 배열에 있게된다. 그러나 정렬되어 있지는 않음.
scores.sort()
scores.reverse() // 두 메소드를 호출하면 데이너틑 우리가 필요로 하는 순서대로 정렬된다.
scores.reverse() // 두 메소드를 호출하면 데이너틑 우리가 필요로 하는 순서대로 정렬된다.
print("The highest score was:")
print(scores[0]) // 배열이 정렬되어 있으므로 처음 세 항목이 상위 3위를 나타내게 된다.
print(scores[1])
print(scores[3])
print(scores[0]) // 배열이 정렬되어 있으므로 처음 세 항목이 상위 3위를 나타내게 된다.
print(scores[1])
print(scores[3])
출처 : http://ygang.tistory.com/21
'프로그래밍언어 > Python' 카테고리의 다른 글
조건문 if else (0) | 2012.08.02 |
---|---|
파이썬 Dictionary (0) | 2012.08.02 |
파이썬 -배열 안의 데이터(데이터 정렬하기) 1 (0) | 2011.11.02 |
파이썬 - 파일 안의 데이터(데이터 정렬하기) (0) | 2011.11.02 |
파이썬 - 시간(time) 모듈 (0) | 2011.11.02 |