dictionary
만들기
dict_a = dict(apple=300, pear=250, peach=400)
dict_a = {'apple':300, 'pear':250, 'peach':400} 
 dict_family = {}
dict_family.setdefault('emily', 1)
dict_family.setdefault('sixx', 6)
dict_family.setdefault('sdragon', 7)
 
 col_unique = [col for col in df.columns if df[col].nunique()<20]
{col: sorted(list(df[col].unique()))  for col in col_unique} 
keys()
딕셔너리의 Key만 뽑아 리스트 또는 튜플 형태로 변환
list(dict_a.keys()) # ['apple', 'pear', 'peach']
values()
딕셔너리의 Value만 뽑아 리스트 또는 튜플 형태로 변환
list(dict_a.values()) # [300, 250, 400]
items()
for k, v in dict_family.items(): print(k,v) # sixx 6 # emily 1 # sdragon 7
list(dict_a.items())
# [('apple', 300), ('pear', 250), ('peach', 400)]
[ [k,v] for k,v in dict_a.items()]
# [['apple', 300], ['pear', 250], ['peach', 400]] 
삭제
특정 Key 삭제
del dict_a['apple']
#{'pear': 250, 'peach': 400}
모두 삭제 
dict_a.clear()
# {} 
정렬
key기준
value기준
dict_a = {'apple':300, 'pear':250, 'peach':400}
##### key기준 -----------------------------------
sorted(dict_a)
# ['apple', 'peach', 'pear']
sorted(dict_a.items())
# [('apple', 300), ('peach', 400), ('pear', 250)]
dict(sorted(dict_a.items()))
# {'apple': 300, 'peach': 400, 'pear': 250}
##### value기준 -----------------------------------
dict(sorted(dict_a.items(), key=lambda x:x[1]))
# {'pear': 250, 'apple': 300, 'peach': 400}
 
zip(변수, 변수)
집합 변수를 만들어주는 함수. 
(묶음 형태의 딕셔너리, 튜플, 리스트으로 만들수도 있다.)
k = ['apple', 'pear', 'peach']
v = [300, 250, 400]
dict(zip(k,v))
# {'apple': 300, 'pear': 250, 'peach': 400}
list(zip(k,v))
# [('apple', 300), ('pear', 250), ('peach', 400)]
tuple(zip(k,v))
#(('apple', 300), ('pear', 250), ('peach', 400)) 
https://bluese05.tistory.com/67
Dictionary Slice
import json
dict_a = {
    "C": 1.1,
    "O": True,
    "M": "HelloWorld",
    "P": {
        "X": 1,
        "Y": 2,
        "Z": 3
    },
    "U": 25,
    "T": None,
    "E": ["Python", "Is", "Beautiful"],
    "R": [1, 2, 100, 200]
}
targetKey = ["C", "P", "U"] 
targe이 정해져 있는 경우
### using dictionary 
result = {k:dict_a[k] for k in targetKey}
result = {k:dict_a[k] for k in dict_a.keys() if k in targetKey}
result = {k:v for k,v in dict_a.items() if k in targetKey}
# {'C': 1.1, 'P': {'X': 1, 'Y': 2, 'Z': 3}, 'U': 25}
print(json.dumps(result, indent = 4))
### using List
result={}
for k,v in dict_a.items(): 
    if k in targetKey:
        result[k] = v
         
itertools for slice
### itertools
import itertools
dict( itertools.islice( dict_a.items(), 2))
# {'C': 1.1, 'O': True} 
 from itertools import islice
dict_family = {'sixx': 6, 'emily': 7, 'sdragon': 2, 'john': 5, 'alice': 4}
first_three = dict(islice(dict_family.items(), 3))
# {'sixx': 6, 'emily': 7, 'sdragon': 2}
dict(islice(dict_family.items(), 1, 3))
# {'emily': 7, 'sdragon': 2} 
 from itertools import islice my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Extract elements from index 2 to 6 (exclusive) # islice(iterable, start, stop, step) result = islice(my_list, 1, 6, 2) for item in result: print(item) # 2 4 6