char_cnt_dict = {'a':3, 'b':4, 'c':2, 'd':1}
print(char_cnt_dict['a'])
print(char_cnt_dict['b'])

char_cnt_dict['e'] = 10
print(char_cnt_dict)

test_string = 'shim9984938923-9321841293787523980574319857934802574238957'
cnt_dict = dict()

for char in test_string:
    cnt_dict[char] = cnt_dict.get(char, 0) + 1
print(cnt_dict)

위와 같이 dictionary는 key, value 쌍으로 이루어져있다!

cnt_dict = {'a':3, 'b':4, 'c':2, 'd':1}
print(cnt_dict.keys(), type(cnt_dict.keys()))
print(list(cnt_dict.keys()), type(list(cnt_dict.keys())))
print(tuple(cnt_dict.keys()), type(tuple(cnt_dict.keys())))
print("=================================")
print(cnt_dict.values(), type(cnt_dict.values()))
print(list(cnt_dict.values()), type(list(cnt_dict.values())))
print(tuple(cnt_dict.values()), type(tuple(cnt_dict.values())))
print("=================================")
print(cnt_dict.items())
print(list(cnt_dict.items()))
for k, v in cnt_dict.items():
    print(k, v)
print("=================================")
cnt_dict = {'a':10, 'b':7, 'c':20, 'd':10}

for k, v in cnt_dict.items():
    print(k, v)

dict_name.keys() 를 이용해 key로 접근하거나 dict_name.values를 이용해 value로 접근하거나 아니면 dict_name.items()를 이용해 key, value 모두 접근 가능하다!

장문의 글이 있다했을때 어떤 단어가 많이 나왔는지 확인하기 위해
dict_name[key] = dict_name.get(key, value 시작값) + 1 로 카운트 가능!
input = kloop interview 일때

cnt_dict = dict()

for char in kloop_interview:
    cnt_dict[char] = cnt_dict.get(char, 0) + 1
    
print(cnt_dict)

M_char, M_num = None, None
for char, num in cnt_dict.items():
    
    if M_num == None or M_num < num and char != ' ':
        M_char = char
        M_num = num
        
print(f'Kloop interviwe - Max_char : {M_char}, numering : {M_num}')

여러 과목이 있을때 각 과목들의 Meta Data Dictionary(sum, mean, Max, Max_idx, variance, standard deviation) 구하기

scores = [[10,15,30],
          [20, 45, 20],
          [30, 35, 40],
          [40, 30, 50]]

class_names = ['Korean', 'English', 'Maths']
class_datas = ['sum', 'mean', 'Max', 'Max_idx', 'Variance', 'Standard deviation']

n_student = len(scores)
n_class = len(class_names)

score_meta_data = dict()

for class_name in class_names:
    score_meta_data[class_name] = dict()
    for class_data in class_datas:
        score_meta_data[class_name][class_data] = 0

mos = [0] * n_class

for score in scores:
    print(score)
    for idx, score in enumerate(score):
        mos[idx] += score**2
print(mos)
    
for c_idx, c_score in enumerate(scores):
    #print(c_idx, c_score)
    
    for s_idx, s_score in enumerate(c_score):
        meta = score_meta_data[class_names[s_idx]]
        meta['sum'] += s_score
      
        meta['mean'] = meta['sum'] / n_student
        
        if meta['Max'] < s_score:
            meta['Max'] = s_score
            meta['Max_idx'] = c_idx
       
        meta['Variance'] = mos[s_idx] / n_data 
        meta['Standard deviation'] = meta['Variance'] ** 0.5
    
print(score_meta_data)

profile
공부한거 혼자 끄적끄적...

0개의 댓글