파이썬의 re 모듈을 사용하면 정규식으로 문자열에서 공백이 아닌(non-whitespace) 문자를 손쉽게 찾아낼 수 있습니다. 핵심은 바로 \S 패턴입니다.\S 패턴이란?정규식에서 \S는 공백(스페이스, 탭, 줄바꿈 등)을 제외한 모든 문자 하나와 일치합니다. 여기에 +를 붙인 \S+를 사용하면, 공백으로 구분된 연속된 문자 덩어리 전체를 한 번에 매칭할 수 있습니다.re.search()로 첫 번째 매칭 찾기다음 코드는 주어진 문자열에서 공백이 아닌 문자들의 첫 번째 묶음을 검색합니다.import re foo = re.search
파이썬의 re 모듈을 사용하면 정규 표현식으로 문자열에서 숫자만 손쉽게 찾아낼 수 있습니다. 아래 예제들은 주어진 문자열에서 숫자만 일치시키는 대표적인 두 가지 방법을 보여줍니다.re.search()로 첫 번째 숫자 그룹 찾기re.search()는 패턴과 일치하는 첫 번째 부분을 찾아 매치 객체를 반환합니다. 패턴 \d+는 하나 이상의 연속된 숫자를 의미합니다.import re m = re.search(r\d+, 5Need47forSpeed 2) print(m)실행 결과<re.Match object; span=(0, 1),
파이썬 정규 표현식을 사용하면 문자열에서 숫자가 아닌 문자만 손쉽게 추출할 수 있습니다. 정규 표현식에서 \D는 숫자(digit)가 아닌 문자를 의미하는 메타 문자로, 숫자 한 글자를 뜻하는 \d의 반대 개념입니다. \D+처럼 수량자를 붙이면 연속된 비숫자 문자들을 하나의 그룹으로 묶어서 매칭합니다.re.search()로 숫자가 아닌 문자 찾기다음 코드는 주어진 문자열에서 숫자가 아닌 부분만 검색합니다.import re m = re.search(r\D+, 5Need47for Speed 2) print(m)출력 결과<re.Mat
집합(Set) 자료형으로 키 차이 구하기두 파이썬 딕셔너리에 포함된 키의 차이점을 찾으려면 집합(set) 자료형을 활용하는 것이 가장 효과적입니다. 집합은 순서가 없고, 요소의 중복을 허용하지 않으며, 변경 불가능한(immutable) 객체들로만 구성되는 자료구조입니다. 또한 수학의 집합 이론에서 정의된 다양한 집합 연산을 그대로 수행할 수 있다는 장점이 있습니다.특히 대칭차(symmetric difference) 연산을 사용하면 두 집합에서 공통으로 포함된 요소는 제외하고, 어느 한쪽에만 존재하는 요소들만 추출할 수 있습니다.예제
Python 딕셔너리를 무작위 순서로 출력하는 방법파이썬의 딕셔너리(dictionary)는 리스트나 문자열처럼 인덱스로 요소에 접근할 수 없기 때문에, 딕셔너리 자체를 직접 무작위로 섞는(shuffle) 것은 불가능합니다. 하지만 딕셔너리의 키(keys)는 리스트로 변환할 수 있고, 이 리스트에 random 모듈의 shuffle() 함수를 적용하면 순서를 무작위로 바꿀 수 있습니다. 이렇게 섞인 키 순서대로 반복하면서 각 키에 해당하는 값(value)을 함께 출력하면 됩니다.예제 코드>>> D1 = {pen: 25,
중첩 딕셔너리란?딕셔너리의 값 자리에 또 다른 딕셔너리가 들어 있는 구조를 중첩 딕셔너리(nested dictionary)라고 합니다. 이런 구조는 설정 데이터나 계층형 JSON 데이터를 다룰 때 자주 등장하며, 일반적인 반복문만으로는 깊숙한 곳까지 한 번에 탐색하기 어렵습니다.다음은 중첩된 딕셔너리 객체의 예입니다.D1 = {1: {2: {3: 4, 5: 6}, 3: {4: 5, 6: 7}}, 2: {3: {4: 5}, 4: {6: 7}}}재귀 함수로 중첩 딕셔너리 순회하기중첩 딕셔너리를 완전히 탐색하는 가장 간단한 방법은 재귀
파이썬으로 작업하다 보면 여러 개의 딕셔너리(dict)를 하나로 합쳐야 하는 경우가 자주 있습니다. 가장 기본적이면서도 널리 쓰이는 방법은 update() 메서드를 활용하는 것입니다.update() 메서드로 딕셔너리 병합하기병합 절차는 다음과 같습니다.병합할 모든 딕셔너리 객체를 하나의 리스트에 담습니다.병합된 결과를 담을 빈 딕셔너리를 초기화합니다.리스트를 순회하면서 각 딕셔너리 항목으로 빈 딕셔너리를 업데이트합니다.예제 코드>>> d=[{'a':1, 'b':2, 'c':
파이썬 딕셔너리 뷰 객체란? 파이썬에서 딕셔너리(dictionary)의 items(), keys(), values() 메서드는 모두 뷰(view) 객체를 반환합니다. 뷰 객체는 원본 딕셔너리의 데이터를 실시간으로 바라보는 일종의 창과 같아서, 원본 딕셔너리가 변경되면 그 변화가 뷰 객체에도 즉시 반영된다는 것이 가장 큰 특징입니다. 세 가지 뷰 객체 살펴보기 1. items() — 키-값 쌍 반환 items() 메서드는 딕셔너리에 저장된 모든 키-값(key-value) 쌍을 담고 있는 dict_items 객체를 반환합니다. &g
Python 딕셔너리를 JSON 형식으로 출력하기JSON(JavaScript Object Notation)은 데이터를 저장하고 교환하기 위한 경량의 텍스트 기반 데이터 형식입니다. 사람이 읽기 쉬우면서도 기계가 파싱하기 용이하여 웹 API와 설정 파일 등에서 널리 사용됩니다.Python에서는 표준 라이브러리에 포함된 json 모듈을 통해 JSON 인코딩(직렬화)과 디코딩(역직렬화)을 손쉽게 처리할 수 있습니다. 특히 json 모듈의 dumps() 함수를 사용하면 Python 딕셔너리 객체를 JSON 문자열로 변환할 수 있습니다.js
파이썬(Python)의 내장 dict 클래스는 update() 메서드를 제공합니다. 이 메서드는 다른 딕셔너리 객체를 인수로 받아 기존 딕셔너리에 병합하는 역할을 합니다. 기본 문법 D1.update(D2) 동작 방식 update() 메서드가 호출되면 D2 객체의 내용이 D1에 병합됩니다. 이때 다음과 같은 규칙이 적용됩니다. 기존 키가 있는 경우: D2에 이미 D1에 존재하는 키가 포함되어 있다면, 해당 키의 값이 D2의 값으로 업데이트됩니다. 새로운 키인 경우: D2에 D1에 없는 새로운 키가 있다면, 새로운 키-값(key
파이썬 딕셔너리에 새 키/값 쌍 추가하기파이썬에서 딕셔너리(dictionary)에 새로운 요소를 추가하는 가장 기본적인 방법은 대입 연산자(assignment operator)를 사용하는 것입니다.D[key] = value이때 지정한 키가 이미 딕셔너리에 존재하면 해당 키의 값이 새 값으로 갱신(update)되고, 존재하지 않으면 새로운 키/값 쌍이 컬렉션에 추가됩니다.1. 대입 연산자를 이용한 추가다음 예제에서는 기존 딕셔너리에 새로운 키 school bag과 그에 해당하는 값 200을 추가합니다.>>> D1 =
파이썬 중첩 딕셔너리란?파이썬에서 딕셔너리(dictionary) 객체는 가변(mutable) 자료형입니다. 이러한 특성 덕분에 하나의 딕셔너리를 다른 딕셔너리의 값(value)으로 사용할 수 있습니다. 즉, 특정 키(key)에 연결된 값으로 또 다른 딕셔너리를 정의하면 중첩 딕셔너리(nested dictionary)를 만들 수 있습니다.중첩 딕셔너리 생성 예제아래 예제에서는 학생 정보를 저장하기 위해 각 학생(키)마다 이름, 나이, 과목, GPA를 담은 딕셔너리를 값으로 지정했습니다.>>> students={stud
itertools.islice() 함수 소개파이썬 표준 라이브러리에 포함된 itertools 모듈은 Clojure, Haskell과 같은 함수형 프로그래밍 언어에서 영감을 받은 다양한 이터레이터 생성 도구를 제공합니다. 이 모듈의 대표적인 함수 중 하나가 바로 islice()입니다.islice()는 반복 가능한(iterable) 객체에서 특정 범위의 요소만 선택하여 새로운 이터레이터를 반환하는 함수입니다. 함수의 기본 구문은 다음과 같습니다.islice(sequence, start, stop, step)sequence: 잘라낼 대상
파이썬에서 중첩된(nested) 딕셔너리의 전체 요소 개수를 구해야 할 때가 있습니다. 이 글에서는 items() 메서드와 sum() 함수를 활용해 중첩 딕셔너리의 모든 요소를 손쉽게 계산하는 방법을 알아보겠습니다.items() 메서드로 키-값 쌍 순회하기딕셔너리의 각 키-값(key-value) 쌍은 다음 표현식으로 순회(iterate)할 수 있습니다.for k,v in students.items():중첩된 파이썬 딕셔너리에서는 각 항목의 값(value) 자체가 또 하나의 딕셔너리입니다. 따라서 각 하위 딕셔너리의 길이는 len(v
Python 리스트(List)란 무엇인가?Python에서 리스트(list)는 여러 개의 객체를 하나의 컬렉션으로 담을 수 있는 가장 기본적인 자료구조입니다. 리스트는 대괄호 [] 안에 객체들을 쉼표(,)로 구분하여 나열하는 방식으로 생성합니다.리스트의 가장 큰 특징은 다음과 같습니다.서로 다른 자료형의 객체를 함께 저장할 수 있습니다.리스트는 변경 가능(mutable)하므로 생성 후에도 요소를 추가, 수정, 삭제할 수 있습니다.동일한 값이나 객체가 여러 번 반복해서 들어갈 수 있습니다.리스트 생성 예제아래 예제처럼 문자열, 정수,
Python 딕셔너리의 기본 구조Python에서 딕셔너리(dictionary) 객체는 키(key)와 값(value)이 한 쌍을 이루는 요소들의 집합입니다. 각 항목은 특정 키에 연결된 값으로 구성되며, 이 연결 관계는 키와 값 사이에 콜론(:)을 넣어 정의합니다.이렇게 만든 키-값 쌍들을 쉼표(,)로 구분한 뒤 중괄호({})로 감싸면 하나의 딕셔너리 객체가 완성됩니다.키와 값이 지켜야 할 규칙딕셔너리를 올바르게 사용하려면 키와 값에 적용되는 규칙을 이해하는 것이 중요합니다.키(key): 반드시 문자열, 숫자, 튜플처럼 변경 불가능한
튜플이란 무엇인가?튜플(tuple)은 괄호 ()로 묶인 순서가 있는 Python 객체들의 컬렉션으로 정의됩니다. 흥미로운 점은 튜플의 항목은 어떤 Python 객체든 될 수 있다는 것입니다. 따라서 튜플 자체도 또 다른 튜플의 항목이 될 수 있으며, 이를 중첩 튜플(nested tuple)이라고 부릅니다.아래 예제처럼 튜플 안에 튜플을 손쉽게 포함시킬 수 있습니다.>>> t1 = (1, (4, 5, 6), 2, 3)>>> t1(1, (4, 5, 6), 2, 3)중첩된 튜플에 접근하는 방법위 예제에서
파이썬 3의 표준 데이터 유형이란?파이썬의 표준 데이터 유형은 크게 숫자형(Numeric), 시퀀스(Sequence) 타입, 그리고 키-값 쌍으로 구성된 딕셔너리(Dictionary)로 나눌 수 있습니다.숫자형 데이터 유형숫자형 데이터 유형의 객체는 정수(int), 실수(float), 복소수(complex) 중 하나입니다. 정수는 소수점이 없는 온전한 숫자를 의미하고, 실수는 소수 부분을 가진 숫자입니다. 복소수는 실수부와 허수부 두 가지 구성 요소로 이루어져 있으며, 실수에 허수 단위 j(제곱했을 때 -1이 되는 값)를 곱한 형태
개요 PostgreSQL은 기본적으로 5432번 포트에서 동작하도록 설치됩니다. 파이썬에서 PostgreSQL 데이터베이스에 접속하려면 psycopg2 모듈이 필요합니다. 아직 설치하지 않았다면 pip 명령어로 간단히 설치할 수 있습니다. pip install psycopg2 이 글에서는 fname(이름), sname(성), age(나이), gender(성별), salary(급여) 필드로 구성된 employee 테이블과 test 데이터베이스가 이미 준비되어 있다고 가정합니다. 1단계: 데이터베이스 연결 및 커서 생성 먼저 파이썬
개요서버에 test라는 이름의 MySQL 데이터베이스가 존재하고, 그 안에 employee 테이블이 생성되어 있다고 가정합니다. 이 테이블은 fname(이름), lname(성), age(나이), gender(성별), salary(급여)의 다섯 가지 필드로 구성되어 있습니다.1. 튜플 객체 정의하기먼저 하나의 레코드에 해당하는 데이터를 담은 튜플 객체를 다음과 같이 정의합니다.t1 = (Mac, Mohan, 20, M, 2000)2. PyMySQL 모듈 설치 및 데이터베이스 연결파이썬 3와 MySQL 사이의 인터페이스를 구축하려면 P