프로그래밍

Python 딕셔너리, 딕셔너리 리스트 타입 정렬(min, max, sorted, operator, lambda)

warpmemory 2017. 1. 3. 14:58
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
>>> data = {"a"10,"b"5,"c"7,"d"2,"e"9,"f"1}
>>> zip(data.values(), data.keys())
[(10'a'), (7'c'), (5'b'), (9'e'), (2'd'), (1'f')]
>>> min(zip(data.values(), data.keys()))
(1'f')
>>> max(zip(data.values(), data.keys()))    
(10'a')
>>> sorted(zip(data.values(), data.keys()), reverse=True)
[(10'a'), (9'e'), (7'c'), (5'b'), (2'd'), (1'f')]
 
>>> import operator
>>> sorted(data.items(), key=operator.itemgetter(0))
[('a'10), ('b'5), ('c'7), ('d'2), ('e'9), ('f'1)]
>>> sorted(data.items(), key=operator.itemgetter(1)) 
[('f'1), ('d'2), ('b'5), ('c'7), ('e'9), ('a'10)]
 
>>> data = [{"id"1"value"5}, {"id"2"value"1}, {"id"3"value"2}, {"id"4"value"3}, {"id"5"value"4}, {"id"6"value"5}, {"id"7"value"10}]
>>> sorted(data, key = lambda d: (d['id']), reverse=True)                  
[{'id'7'value'10}, {'id'6'value'5}, {'id'5'value'4}, {'id'4'value'3}, {'id'3'value'2}, {'id'2'value'1}, {'id'1'value'5}]
>>> sorted(data, key = lambda d: (d['value']), reverse=True)  
[{'id'7'value'10}, {'id'1'value'5}, {'id'6'value'5}, {'id'5'value'4}, {'id'4'value'3}, {'id'3'value'2}, {'id'2'value'1}]
cs