티스토리 뷰

1. 정렬이란
정해진 규칙대로 수가 나열되는 것이다.
2. 정렬을 위한 함수
- sort()
list를 정의했다면 list.sort()를 사용해 오름차순 정렬
- sort(reverse = True)
list를 정의했다면 list.sort(reverse = True)를 사용해 내림차순 정렬
-key
sort()에 변수 key를 주어, key에 저장된 결과에 따라서 정렬한다.
ex) key가 의미하는 것이 문자열의 길이라면 list.sort(key = len)으로 사용하고 list 원소의 첫번째부터 len을 파악하여 값에 맞춰서 정렬한다.
3. list1의 값을 그대로 유지하며 저장하고 싶다면?
- list1에 sort()를 사용하게 되면 list1이 sort됨
- list2에 list1의 sorted된 값만 저장하면 됨
=> how?
list2 = sorted(list1) 이후 list2는 list1이 정렬된 값의 리스트가 됨
% reverse도 원래 값을 유지하고 싶다면 다른 list에 reversed를 사용해 저장가능
4. 연습하기
sort사용
2750번: 수 정렬하기
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
lambda와 key의 사용
11651번: 좌표 정렬하기 2
첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다.
www.acmicpc.net
n = int(input())
list = []
m=2
for i in range(0,n):
list2 =[0]*m
list2[0],list2[1] = map(int,input().split())
list.append(list2)
list = sorted(list, key = lambda a : a[0])
list = sorted(list, key = lambda a: a[1])
for i in range(0,n):
for j in range(0,m):
print("%d" %list[i][j], end=' ')
print( )
'파이썬 > 파이썬 기초' 카테고리의 다른 글
리스트를 다루는 map()과 filter() - lambda (0) | 2021.03.28 |
---|---|
파이썬 기초 - 알아두면 유용 (0) | 2021.03.24 |
파이썬 기초 - 기초 문법 연습하기 (0) | 2021.03.10 |
파이썬 기초 - 예외처리 (0) | 2021.03.09 |
파이썬 기초 - 모듈 (0) | 2021.03.08 |
- Total
- Today
- Yesterday
- 기본 텍스트 분류
- 10866 백준
- DRF 회원관리
- 핀테크 트렌드
- 백준 숫자놀이
- 11053 백준
- 백트래킹(1)
- mm1queue
- 4963 섬의개수
- 백준 15650 파이썬
- CREATE ASSERTION
- 모듈 사용법
- 딥러닝입문
- 파이썬 알아두면 유용
- 백준 4963
- LAMBDA
- 기사작성 대외활동
- 백준 11053 파이썬
- 영화 리뷰 긍정 부정 분류
- 백준 10866
- 효율적인방법찾기
- 시뮬레이션 c
- stack 컨테이너
- 코딩월드뉴스
- 온라인프로필 만들기
- CSMA/CD란?
- 스택 파이썬
- 소프트웨어공학설계
- 13886
- c++덱
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |