| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- javascript
- html
- 문자열
- java테스트
- Java
- HashMap
- 자바문법
- Array
- 인텔리제이
- CSS
- IntelliJ
- js
- string
- 단위테스트
- 자바스크립트
- math
- input
- 배열
- 스프링부트
- vscode
- Visual Studio Code
- junit
- list
- ArrayList
- Eclipse
- 정규식
- junit5
- SpringBoot
- 테스트자동화
- 자바
- Today
- Total
목록IT/Python (49)
어제 오늘 내일
1. JSON 형식으로 저장된 텍스트 읽기 (가장 추천)파일 내용이 { "key": "value" } 형태라면 json 모듈을 사용하는 것이 가장 빠르고 안전합니다. 한 줄씩 읽을 필요 없이 파일 전체를 한 번에 딕셔너리로 복구합니다.📌 예제 코드import json# 파일 읽기with open("user.txt", "r", encoding="utf-8") as f: # 파일 전체 내용을 딕셔너리로 바로 변환 data_dict = json.load(f)print(data_dict)print(type(data_dict)) # 2. "Key: Value" 형태로 한 줄씩 기록된 경우메모장 등에 과목: 점수처럼 사람이 읽기 좋게 기록된 텍스트는 한 줄씩 읽어서 직접 쪼개야 합니다.📌 예제 코드:..
1. 나중에 다시 읽을 수 있게 저장하기 (추천)가장 좋은 방법은 json 모듈이나 str() 함수를 사용하는 것입니다. 텍스트 파일이지만 딕셔너리의 구조({ })를 그대로 유지하여 저장합니다.📌 방법 1: 모듈 활용 (가장 표준적인 방식).txt 확장자로 저장하더라도 내부 형식을 JSON으로 유지하면 나중에 데이터를 다시 불러와서 딕셔너리로 복구하기가 매우 쉽습니다.import jsonuser_data = {"name": "철수", "age": 25, "city": "서울"}# txt 파일로 저장with open("user.txt", "w", encoding="utf-8") as f: # indent를 주면 보기 좋게 저장됩니다. json.dump(user_data, f, ensure_a..
1. 여러 개의 딕셔너리(리스트 형태) 저장하기가장 흔한 경우입니다. 리스트 안에 여러 개의 딕셔너리가 들어 있는 형태(JSON 배열 형태)를 CSV로 저장할 때는 파이썬 내장 csv 모듈의 DictWriter를 사용합니다.📌 실전 예제: 활용import csv# 저장할 데이터 (리스트 안의 딕셔너리 형태)data = [ {"이름": "철수", "나이": 25, "직업": "개발자"}, {"이름": "영희", "나이": 30, "직업": "디자이너"}, {"이름": "민수", "나이": 28, "직업": "데이터 분석가"}]# 1. 파일 열기 (newline=''은 윈도우에서 줄바꿈 중복 방지)with open("members.csv", "w", encoding="utf-8-sig",..
1. JSON이란 무엇인가요?JSON은 데이터를 저장하거나 전송할 때 사용하는 경량의 데이터 형식입니다. 파이썬의 딕셔너리({}) 및 리스트([]) 구조와 거의 1:1로 매칭되기 때문에 변환이 매우 쉽습니다.2. 딕셔너리를 JSON 파일로 저장하기 ()파이썬 내장 모듈인 json을 임포트하여 사용합니다. dump() 함수는 딕셔너리를 파일 객체로 직접 써넣어 줍니다.📌 실전 예제: 설정값 저장하기import json# 저장할 딕셔너리 데이터config = { "user_id": "gemini_dev", "theme": "dark_mode", "notifications": True, "recent_projects": ["AI_bot", "Web_scraper"]}# 1. 파일 열기 ..
1. 메모이제이션(Memoization)이란?컴퓨터 프로그래밍에서 메모이제이션은 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 딕셔너리 같은 저장 공간에 '메모'해 두었다가 다시 사용하는 기술입니다.복잡한 연산을 매번 처음부터 다시 하지 않고, "아! 이거 아까 계산해둔 건데?" 하고 딕셔너리에서 바로 꺼내 쓰기 때문에 속도가 획기적으로 빨라집니다.2. 왜 딕셔너리를 사용하나요?메모이제이션의 핵심은 검색 속도입니다. 파이썬의 딕셔너리(Dictionary)는 내부적으로 해시 테이블(Hash Table) 구조를 사용하기 때문에, 데이터가 아무리 많아도 내가 원하는 값을 찾는 속도가 거의 일정하고 매우 빠릅니다. (시간 복잡도 $O(1)$)3. 실전 예제: 피보나치 수열 (Fibonacci)피보나치 수열..
1. 중첩 구조 접근의 정석 (계단식 접근)JSON 데이터는 보통 딕셔너리와 리스트가 층층이 쌓인 구조입니다. 대괄호[]를 연달아 써서 안쪽으로 들어갈 수 있습니다.📌 예제 코드: 기상청 API 데이터 가공하기 (가상)weather_json = { "status": "OK", "result": { "location": "Seoul", "forecast": [ {"date": "2026-02-25", "temp": 12, "desc": "Sunny"}, {"date": "2026-02-26", "temp": 8, "desc": "Rainy"} ] }}# '내일(26일)의 기온'을 가져오고 싶다면?# 딕셔너리(re..
1. 안전하게 삭제하기: 보다는 대부분 del dic["key"]를 먼저 배우지만, 이 방식은 키가 없으면 즉시 에러를 발생시킵니다. 실무에서는 .pop()을 사용하여 기본값을 설정하는 방식을 훨씬 선호합니다.📌 팁 1: 의 기본값(Default) 활용키가 없어도 에러를 내지 않고 None이나 지정한 메시지를 반환하게 할 수 있습니다.user = {"name": "제미니", "level": 10}# 키가 없어도 에러 없이 안전하게 삭제 시도# pop(키, 키가 없을 때 반환할 값)removed_value = user.pop("email", "해당 키가 없습니다")print(removed_value) # 해당 키가 없습니다.print(user) # 원본은 그대로 유지됨📌 팁 2: ..
1. 딕셔너리 정렬 (Sorting)딕셔너리는 기본적으로 순서가 중요하지 않은 자료형이지만, 출력하거나 분석할 때는 Key(이름표)나 Value(값)를 기준으로 정렬해야 할 때가 많습니다.📌 Key(이름표) 기준 정렬sorted() 함수를 사용하면 기본적으로 Key를 기준으로 정렬된 Key 리스트를 반환합니다.scores = {"철수": 85, "영희": 90, "민수": 75}# 1. Key 기준 오름차순 (가나다순)sorted_keys = sorted(scores)print(sorted_keys) # ['민수', '영희', '철수']# 2. Key 기준 정렬된 새로운 딕셔너리 만들기sorted_dict = {k: scores[k] for k in sorted(scores)}📌 Value(값) 기준..
1. 딕셔너리 만들기 (생성과 추가)중괄호 {}를 사용하며, Key: Value 형태로 짝을 지어줍니다.# 1. 딕셔너리 생성user = { "name": "제미니", "level": 10, "job": "AI 메이트"}# 2. 새로운 데이터 추가user["location"] = "Seoul"# 3. 값 수정 (기존에 있는 Key에 새 값을 넣으면 덮어쓰기 됩니다)user["level"] = 11print(user)# 출력: {'name': '제미니', 'level': 11, 'job': 'AI 메이트', 'location': 'Seoul'}2. 데이터 꺼내기 (get vs 대괄호)데이터를 가져올 때 대괄호([])를 쓰면 존재하지 않는 키를 넣었을 때 에러가 나지만, .get()을 쓰면 ..
['Hello', 'World']라는 리스트를 "Hello World"라는 문자열로 바꾸고 싶을 때, 초보자들은 흔히 for문을 돌리며 글자를 더하곤 합니다. 하지만 파이썬에는 이를 위한 전용 마법인 join()이 있습니다.1. 가장 정석적인 방법: join() 함수는 앞에 붙는 '구분자'를 기준으로 리스트의 요소들을 찰떡처럼 이어 붙여줍니다.📌 예제 코드: 공백이나 쉼표로 합치기words = ["Apple", "Banana", "Orange"]# 1. 공백(" ")으로 합치기result1 = " ".join(words)print(result1) # 출력: Apple Banana Orange# 2. 쉼표(",")로 합치기result2 = ",".join(words)print(result2) # 출력..
