| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- vscode
- Array
- 단위테스트
- Eclipse
- CSS
- javascript
- SpringBoot
- Java
- string
- 배열
- 테스트자동화
- ArrayList
- 자바
- junit5
- 문자열
- 자바문법
- 스프링부트
- java테스트
- Visual Studio Code
- input
- js
- junit
- math
- 자바스크립트
- HashMap
- 인텔리제이
- 정규식
- list
- IntelliJ
- html
- Today
- Total
목록IT/Python (24)
어제 오늘 내일
1차원 리스트의 중복을 제거할 때는 마법의 주머니 set()을 쓰면 아주 쉽게 해결되었습니다.하지만 실무에서 엑셀 데이터나 표 형태의 데이터를 다루다 보면 리스트 안에 또 리스트가 들어있는 '2차원 리스트'를 만나게 됩니다.여기에 평소 하던 대로 set()을 씌우면 파이썬은 TypeError: unhashable type: 'list'라는 무시무시한 에러를 뿜어냅니다. 오늘은 이 에러가 왜 발생하는지 알아보고, 2차원 리스트의 중복을 3가지 방법으로 완벽하게 날려버리는 비법을 전수해 드립니다.1. 왜 그냥 set()을 쓰면 에러가 날까요?파이썬의 집합(set)이나 딕셔너리의 이름표(Key)에는 아주 엄격한 규칙이 하나 있습니다. 바로 "내용물이 중간에 바뀔 위험이 있는 데이터(Mutable)는 절대 들어..
정규표현식(Regex)은 특정한 규칙을 가진 문자열의 집합을 표현하는 '형식 언어'입니다. 처음 보면 마치 외계어처럼 생겼지만, 원리만 알면 수백 줄의 코드를 단 한 줄로 줄여주는 기적을 경험할 수 있습니다.파이썬에서는 기본으로 제공하는 re 모듈을 가져와서 사용합니다.1. 정규표현식의 핵심 기호 (마법의 주문)정규표현식은 '패턴'을 만드는 것입니다. "숫자 3개, 하이픈(-), 숫자 4개" 같은 규칙을 기호로 표현합니다. 실무에서 가장 많이 쓰는 핵심 기호만 빠르게 훑어보겠습니다.\d : 숫자 (Digit, 0~9)\w : 문자+숫자 (Word, 알파벳, 한글, 숫자 등)\s : 공백 (Space, 띄어쓰기, 탭 등)+ : 앞의 문자가 1번 이상 반복됨 (예: \d+ = 숫자가 1개 이상 있음)* : ..
데이터를 다루다 보면 "중복된 데이터를 없애고, 가나다순이나 크기순으로 깔끔하게 정렬해 줘!"라는 요구사항을 정말 많이 받게 됩니다.이 두 가지 작업을 따로따로 하려면 코드가 길어지겠지만, 파이썬에서는 단 한 줄로 아주 우아하게 해결할 수 있습니다.상황별로 골라 쓸 수 있는 완벽한 콤보 기술을 알아보겠습니다.1. 실무 정석: sorted()와 set()의 환상적인 콜라보가장 기본적이고 파이썬다운(Pythonic) 방법입니다.중복을 없애는 set()과, 정렬된 새 리스트를 뱉어내는 sorted()를 양파 껍질처럼 겹쳐서 사용합니다.📌 예제 코드: 기본 오름차순 (작은 것부터 / 가나다순)raw_data = [5, 2, 9, 1, 5, 2, 3, 9]# 1. 안쪽의 set(raw_data)가 먼저 실행되어..
수만 건의 크롤링 데이터나 설문조사 결과를 취합하다 보면, 필연적으로 중복된 데이터가 섞여 들어옵니다. 파이썬에서는 이 중복 데이터를 아주 쉽게 날려버릴 수 있습니다.오늘은 데이터의 '순서'를 중요하게 생각하느냐 마느냐에 따라 골라 쓸 수 있는 리스트 중복 제거의 3가지 비법을 소개해 드립니다.1. 가장 쉽고 빠른 방법: set() 활용하기 (순서 섞임 주의)파이썬에서 중복을 제거할 때 가장 먼저 떠올려야 할 마법의 단어는 바로 집합(set)입니다. 집합 자료형은 태생적으로 "같은 값을 두 번 허용하지 않는다"는 강력한 규칙을 가지고 있습니다.📌 예제 코드: set()으로 중복 날리기# 중복이 섞여 있는 원본 리스트raw_data = ["사과", "바나나", "사과", "딸기", "바나나", "포도"]..
쇼핑몰에서 '가격 낮은 순', '평점 높은 순'으로 상품을 보거나, 학교에서 학생들의 시험 점수를 '1등부터 꼴등까지' 나열할 때 우리는 정렬(Sorting)을 사용합니다.파이썬은 아주 강력하고 직관적인 정렬 기능을 제공합니다. 오늘은 가장 많이 쓰이는 두 가지 마법의 단어, sort()와 sorted(), 그리고 내가 원하는 기준대로 정렬하는 key 옵션에 대해 알아보겠습니다.1. 원본을 직접 줄 세우기: .sort()첫 번째 방법은 리스트가 가지고 있는 자체 기능인 .sort() 메서드를 사용하는 것입니다.이 방법을 사용하면 원본 리스트 자체가 정렬된 상태로 영구적으로 바뀌게 됩니다.📌 예제 코드: 오름차순과 내림차순 정렬# 1. 숫자 오름차순 정렬 (작은 수 -> 큰 수)scores = [85, ..
엑셀에서 VLOOKUP을 쓰거나 피벗 테이블을 돌려본 적 있으신가요?판다스(Pandas)는 이런 복잡한 표 계산과 데이터 조작을 단 몇 줄의 파이썬 코드로 순식간에 처리해 주는 마법의 도구입니다. 데이터 과학자나 AI 개발자들에게는 숨 쉬는 것과도 같은 필수 패키지입니다.1. 준비 운동: 판다스 설치와 핵심 개념 (DataFrame)먼저 터미널을 열고 판다스를 설치해 줍니다.pip install pandas판다스를 이해하려면 딱 하나의 단어만 기억하면 됩니다. 바로 데이터프레임(DataFrame)입니다.데이터프레임은 쉽게 말해 '파이썬 안에 띄워놓은 가상의 엑셀 시트'입니다. 행(Row)과 열(Column)로 이루어진 완벽한 표 형태를 띠고 있죠.2. 엑셀/CSV 파일 한 번에 빨아들이기openpyxl에..
크롤링이 남의 집 담벼락을 몰래 훔쳐보는 것이라면, API는 정문으로 당당하게 들어가서 "여기 날씨 정보 1인분 포장해 주세요!"라고 주문하는 것과 같습니다.합법적이고, 데이터가 아주 깔끔하게 정리되어 오기 때문에 실무에서는 무조건 크롤링보다 API를 우선적으로 사용합니다. 오늘은 별도의 회원가입이나 인증키 없이 무료로 사용할 수 있는 날씨 API를 통해 그 원리를 파헤쳐 보겠습니다.1. API란 무엇인가요? (식당 점원 비유)API를 가장 쉽게 이해하는 방법은 식당의 '점원(웨이터)'으로 생각하는 것입니다.손님 (파이썬 코드): 메뉴판을 보고 "서울 날씨 주세요!"라고 주문(요청, Request)합니다.점원 (API): 손님의 주문을 주방에 전달하고, 완성된 요리를 가져다줍니다.주방 (서버/데이터베이스..
매달 말일마다 부서별로 흩어진 수십 개의 엑셀 파일을 열어서 하나의 시트로 합치거나, 특정 서식을 복사 붙여넣기 하는 작업을 해보신 적 있나요? 사람이 직접 하면 눈도 아프고 실수하기도 쉽습니다.하지만 파이썬의 openpyxl 패키지를 사용하면 엑셀을 켜지 않고도 백그라운드에서 순식간에 데이터를 쓰고, 읽고, 서식까지 지정할 수 있습니다.1. 준비 운동: 패키지 설치와 엑셀의 3단 구조 이해하기먼저 터미널(명령 프롬프트)을 열고 외부 패키지를 설치해 줍니다.pip install openpyxl파이썬으로 엑셀을 다루기 전에 반드시 알아야 할 엑셀의 3단 구조가 있습니다.워크북 (Workbook): 엑셀 파일 그 자체 (.xlsx)워크시트 (Worksheet): 파일 안 하단에 있는 탭 (Sheet1, Sh..
매일 아침 출근해서 관심 있는 분야의 뉴스 기사 제목을 엑셀로 정리하는 업무가 있다고 가정해 봅시다. 마우스로 드래그하고, 복사하고, 붙여넣기... 100개의 기사를 정리하려면 한참이 걸립니다.하지만 파이썬을 사용하면 이 모든 과정을 단 1초 만에 끝낼 수 있습니다. 인터넷 웹페이지에 있는 데이터를 파이썬이 대신 읽어서 필요한 부분만 쏙쏙 뽑아오는 기술, 바로 웹 크롤링(Web Scraping/Crawling)입니다.오늘은 크롤링의 양대 산맥인 requests 패키지와 BeautifulSoup 패키지를 사용해 보겠습니다.1. 크롤링 준비물 챙기기 (패키지 설치)크롤링을 하려면 남이 만든 훌륭한 도구(외부 패키지) 두 개가 필요합니다. 터미널(명령 프롬프트)을 열고 아래 명령어를 입력해 설치해 주세요.# ..
파이썬이 열심히 코드를 한 줄 한 줄 실행하다가, 도저히 계산할 수 없거나 처리할 수 없는 상황을 마주치면 어떻게 할까요? 파이썬은 즉시 두 손을 들고 파업을 선언합니다. 이것을 우리는 예외(Exception)가 발생했다고 부릅니다.하지만 실무에서 돌아가는 프로그램이 에러 하나 났다고 픽픽 꺼져버리면 안 되겠죠? 이럴 때 파이썬에게 "에러가 나면 멈추지 말고, 이렇게 대처해!"라고 지시하는 문법이 바로 try-except입니다.1. 예외(Exception)란 무엇인가요?문법을 틀려서 발생하는 오타(Syntax Error)와 달리, 문법은 완벽하지만 실행 도중에 발생하는 문제를 예외라고 합니다.가장 대표적인 예외 상황들을 볼까요?ZeroDivisionError: 숫자를 0으로 나누려고 할 때ValueErr..
