[파이썬3.0] 데이터 정렬 2
기록 순위를 메겨보자.
데이터 정렬에서는 정렬작업만 했는데, 이번에는 정렬을 했으니 중복된 데이터는 제거하고 필요한 만큼의 범위만 뽑아내는 것을 해보자.
['2.01', '2.01', '2.22', '2.34', '2.34', '2.45', '3.01', '3.10', '3.21']
['2.11', '2.11', '2.23', '2.23', '2.59', '3.10', '3.10', '3.21', '3.21']
['2.22', '2.38', '2.49', '3.01', '3.01', '3.02', '3.02', '3.02', '3.22']
['2.18', '2.25', '2.39', '2.54', '2.55', '2.55', '2.55', '2.58', '2.58']
-
2.01이 두번 나오는 것처럼 중복된 값들이 있다.
-
또한 상위 기록 3개만 뽑으려면 3개의 값만을 추려내야 한다.
-
중복을 제거하는 방법은 not in 을 이용
-
리스트에서 필요한 부분만 뽑아내는 방법은 리스트의 특징인 리스트 슬라이스를 이용하자.
def 동일화(time_string):
if '-' in time_string:
splitter='-'
elif ':' in time_string:
splitter=':'
else:
return(time_string)
(mins,secs) = time_string.split(splitter)
return(mins+'.'+secs)
with open('james.txt') as 제임스파일:
data=제임스파일.readline()
제임스 = data.strip().split(',')
with open('julie.txt') as 줄리파일:
data=줄리파일.readline()
줄리 = data.strip().split(',')
with open('mikey.txt') as 미키파일:
data=미키파일.readline()
미키 = data.strip().split(',')
with open('sarah.txt') as 사라파일:
data=사라파일.readline()
사라 = data.strip().split(',')
done_제임스=sorted([동일화(each_t) for each_t in 제임스]) # 지능형 리스트 사용.
done_줄리=sorted([동일화(each_t) for each_t in 줄리])
done_미키=sorted([동일화(each_t) for each_t in 미키])
done_사라=sorted([동일화(each_t) for each_t in 사라])
u_제임스 = []
for each_t in done_제임스: #지능형 리스트를 사용하기에는 조건이 많이 있으므로 리스트 나열 이용
if each_t not in u_제임스:#not in 으로 새로 담는 리스트에 값이 있으면 수행하지 않게 한다.
u_제임스.append(each_t)#새로운 값이면 리스트에 담는다.
u_줄리 = []
for each_t in done_줄리:
if each_t not in u_줄리:
u_줄리.append(each_t)
u_미키 = []
for each_t in done_미키:
if each_t not in u_미키:
u_미키.append(each_t)
u_사라 = []
for each_t in done_사라:
if each_t not in u_사라:
u_사라.append(each_t)
print(u_제임스[0:3])#리스트 슬라이스를 이용해서 맨 처음 부터 3개를 골라서 출력한다.
print(u_줄리[0:3])
print(u_미키[0:3])
print(u_사라[0:3])
['2.01', '2.22', '2.34']
['2.11', '2.23', '2.59']
['2.22', '2.38', '2.49']
['2.18', '2.25', '2.39']
참고 : headfirst python
'프로그램 언어 > 파이썬' 카테고리의 다른 글
[파이썬3.0]사진 정리 프로그램 만들기 part1 (0) | 2014.07.12 |
---|---|
[파이썬3.0] 집합을 이용한 중복 제거 방법 (0) | 2014.06.24 |
[파이썬3.0] 데이터 정렬 (0) | 2014.06.24 |
[파이썬3.0] 객체에 대해 (0) | 2014.06.24 |
[파이썬3.0]데이터 저장과 예외처리-finally,with절 등 (0) | 2014.06.23 |