나이와 이름 리스트가 주어진다.
정렬 순서는 1. 나이 2. 인덱스
import sys
input = sys.stdin.readline
N = int(input())
li = [input().split() for _ in range(N)]
z = [ i for i in range(N)]
l =list(zip(li, z))
for i in sorted(l, key=lambda x : (int(x[0][0]),x[1])):
print(i[0][0], i[0][1])
1.li 변수에 리스트을 입력받고 z 변수에 숫자 N 까지의 리스트를 만든다.
2. zip 함수를 이용하여 각 숫자를 명단 리스트에 삽입한다. -> 0 ~ N 까지 인덱스가 만들어짐 ((age, name) index)의 형태
3. lambda 함수로 정렬 기준을 세워준다. x = ((age, name,) index) , x[0] => ((age, name)), x[0][0]=>age
'Python' 카테고리의 다른 글
(python) 백준 14888 연산자 끼워 넣기 (0) | 2020.06.22 |
---|---|
(python) int, string 형식의 input을 list형식으로 만들기 (0) | 2020.06.22 |
python 숫자, 문자열로 list 만들기 (0) | 2020.06.16 |
(python) itertools의 permutations이용하기 (0) | 2020.06.16 |
python key를 이용한 단어 정렬 (등장하는 단어순) (0) | 2020.06.16 |