[Python] dictionary & set with JSON, csv

NAEMAMDAEROG·2021년 12월 2일
0

dictionary

dictionary = {}
dictionary['apple'] = '사과' 
# dictionary[key] = value로 dictionary에 data를 넣어줄 수 있다.
  • key는 변할 수 없는 값만 가능하다. (list는 key가 될 수 없다.)
color = {'apple' : 'red', 'grape' : 'purple'}
for key, value in color.items():  # [('apple','red'),...]
	print(key + "-" + value)

# apple-red
# grape-purple

JSON

  • JavaScript Object Notation
  • { key : value }
  • 웹 환경에서 데이터를 주고 받는 가장 표준적인 방식
  • 키를 이용하여 원하는 데이터만 빠르게 추출 가능
  • 데이터가 쉽게 오염되지 않음
  • 다른 포맷에 비해 용량이 조금 큰 편

JSON과 dictionary 변환

  • JSON -- ( loads() ) --> dictionary
  • JSON <-- ( dumps() ) -- dictionary
  • loads() : JSON 형태의 문자열을 dictionary로 변환. dictionary의 모든 원소는 문자열 타입으로 설정된다.
  • dumps() : dictionary를 JSON 형태의 문자열로 변환.
import json

# JSON 파일을 읽고 문자열을 dictionary로 변환
def create_dict(filename):
	with open(filename) as file:
		json_string = file.read()
    return json.loads(json_string)
    
# JSON 파일을 읽고 dictionary를 JSON 형태의 문자열로 반환
def create_json(dictionary, filename):
	with open(filename, 'w') as file:
    	json_string = json.dumps(dictionary)
        file.write(json_string)

집합(set)

  • 중복이 없다.
  • 순서가 없다.
num_set = {1, 3, 5, 7}
num_set.add(9)  # {1, 3, 5, 7, 9}
num_set.update([3, 15, 4])  # {1, 3, 4, 5, 7, 9, 15}
num_set.remove(7)  # {1, 3, 4, 5, 9, 15}
num_set.discard(13)  # {1, 3, 4, 5, 9, 15}
  • remove() : 지우려는 원소가 set에 존재해야 한다. 존재하지 않는 원소를 지우려고 한다면 에러가 발생한다.
  • discard() : 지우려는 원소가 set에 존재하면 지우고, 없다면 무시한다.
set1 = {1, 3, 5 ,7}
set2 = {1, 3, 9, 27}

union = set1 | set2  # 합집합 {1, 3, 5, 7, 9, 27}
intersection = set1 & set2  # 교집합 {1, 3}
diff = set1 - set2  # 차집합 {5, 7}
xor = set1 ^ set2  # XOR {5, 7, 9, 27}

csv 데이터 읽기

import csv

with open('movies.csv') as file:
	reader = csv.reader(file, delimiter=',')
  • reader() : csv 파일의 내용을 먼저 줄 별로 나눈 뒤, 구분 기호(delimiter)를 기준으로 분리해주는 함수

출처 : 엘리스 AI트랙 3기 11주차 수업

profile
Blockchain & Programming 공부 기록

0개의 댓글