python, 정렬 sort(), sorted() 예제
# 리스트 정렬 sort()
data = [3, 5, 2, 1, 8, 6, 10, 9, 4, 7]
data.sort()
print(data)
# 리스트 정렬 sorted()
data = [3, 5, 2, 1, 8, 6, 10, 9, 4, 7]
data2 = sorted(data)
print(data2)
# 튜플 정렬 sorted()
data = (3, 5, 2, 1, 8, 6, 10, 9, 4, 7)
data2 = tuple(sorted(data))
print(data2)
# 문자열 정렬 sorted()
data = "korea"
data = "".join(sorted(data))
print(data)
# 집합 정렬은 불가능. 그렇지만 리스트 같은 형태로 정렬하여 출력 가능
data = {3, 5, 2, 1, 8, 6, 10, 9, 4, 7}
data2 = sorted(data)
print(data2) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 사전 key 기준 정렬
scores = {"홍길동": 80, "김철수": 75, "이영자": 85, "하리수": 90}
scores = sorted(scores.items())
print(scores) # [('김철수', 75), ('이영자', 85), ('하리수', 90), ('홍길동', 80)]
scores = dict(scores)
print(scores) # {'김철수': 75, '이영자': 85, '하리수': 90, '홍길동': 80}
# 사전 value 기준 정렬
scores = {"홍길동": 80, "김철수": 75, "이영자": 85, "하리수": 90}
def f(kv):
return kv[1]
scores = sorted(scores.items(), key=f)
print(scores) # [('김철수', 75), ('홍길동', 80), ('이영자', 85), ('하리수', 90)]
scores = dict(scores)
print(scores) # {'김철수': 75, '홍길동': 80, '이영자': 85, '하리수': 90}
# 사전 value 기준 정렬 (key에 함수 이름 전달)
scores = {"홍길동": 80, "김철수": 75, "이영자": 85, "하리수": 90}
def f(v):
return v[1]
scores = sorted(scores.items(), key=f)
print(scores) # [('김철수', 75), ('홍길동', 80), ('이영자', 85), ('하리수', 90)]
scores = dict(scores)
print(scores) # {'김철수': 75, '홍길동': 80, '이영자': 85, '하리수': 90}
# 사전 value 기준 정렬 (key에 람다 함수 이용)
scores = {"홍길동": 80, "김철수": 75, "이영자": 85, "하리수": 90}
scores = sorted(scores.items(), key=lambda v: v[1])
print(scores) # [('김철수', 75), ('홍길동', 80), ('이영자', 85), ('하리수', 90)]
scores = dict(scores)
print(scores) # {'김철수': 75, '홍길동': 80, '이영자': 85, '하리수': 90}
# 2차원 리스트 정렬하기, 아이템의 첫 번째 기준 정렬
data = [[2, '이철수', 80], [3, '수알치', 90], [1, '홍길동', 70]]
data2 = sorted(data)
print(data2) # [[1, '홍길동', 70], [2, '이철수', 80], [3, '수알치', 90]]
# 2차원 리스트 정렬하기, 아이템의 두 번째 기준 정렬
data = [[2, '이철수', 80], [3, '수알치', 90], [1, '홍길동', 70]]
data2 = sorted(data, key=lambda v: v[1])
print(data2) # [[3, '수알치', 90], [2, '이철수', 80], [1, '홍길동', 70]]
# 2차원 리스트 정렬하기, 아이템의 세 번째 기준, 역순 정렬
data = [[2, '이철수', 80], [3, '수알치', 90], [1, '홍길동', 70]]
data2 = sorted(data, key=lambda v: v[2], reverse=True)
print(data2) # [[3, '수알치', 90], [2, '이철수', 80], [1, '홍길동', 70]]
'Python 기초' 카테고리의 다른 글
파이썬, f 문자열 활용 (변수, 수식, 함수호출문 포함하기) (0) | 2022.05.21 |
---|---|
파이썬, 시작 끝 값 입력받고 x-x-x-x-x 형태 출력하기 (0) | 2022.05.14 |
파이썬, 문자열(한영 포함) 바이트 길이 계산 (0) | 2022.02.07 |
파이썬, 코드 또는 함수 실행 시간 자동 측정 (timeit 이용) (0) | 2022.01.30 |
파이썬, C 언어 printf() 함수 흉내내기 (0) | 2022.01.27 |