(도봉 SW 1기) 파이썬 - 정규표현식 / 딕셔너리 / 세트

novice developer·2024년 1월 8일

Saltlux

목록 보기
9/22

복습

언패킹

패킹

패킹이란?
한 변수에 여러개의 데이터를 할당하여, 여러개의 객체를 하나의 객체로 합쳐주는 것 -> 묶는다!

언패킹 : 변수에 나누어 할당하는 것


*를 활용하면 나머지 요소를 언패킹 한다

가변인자 - *args **kwargs


함수가 임의의 개수의 인자를 받아들일 수 있도록 도와줌
*args는 여러개의 위치 인자를 튜플로 받고

**kwargs는 키워드 인자를 딕셔너리로 받는다


정규표현식

[A-Z], [0-9] 등 직접 문자를 지정 해도되지만 자주쓰기에 예약어처럼 줄여 쓸수있는것도 있다 자주 \d \s 등을 많이 쓴다.

전방 탐색


\d+(?=년)
2024년
2025년
2026년
이렇게 하면 숫자만 찾을 수 있다

후방 탐색


\d+(?<=년)

부정형 전후방 탐색(?!...)


...이 아닌것만 매치 된다는 뜻

탐욕 방지 문자 ?

반복 위에 ?를 사용하면 횟수가 한 번 으로 제한됨.


정규표현식 - re 모듈

re.compile

정규표현식을 컴파일하여 패턴 객체를 반환한다.

re.match

문자열의 청므부터 정규표현식과 매치되는지 조사

import re

# 정규표현식을 컴파일하여 패턴 객체를 반환
pattern = re.compile(r"\w")


# 문자열의 청믕부터 정규표현식과 매치되는지 조사
match_result = pattern.match("Hello world")
print(match_result)
print("Match: ", match_result.group() if match_result else "No match")

re.findall - 매치되는 모든 문자열 리스트로 반환

import re

# 정규표현식을 컴파일하여 패턴 객체를 반환
pattern = re.compile(r"\b\w+\b")

# 정규표현식과 매치 되는 모든 문자열을 리스트로 돌려줌
finditer_result = pattern.findall("Hello world")
print("find all:", finditer_result)

# 정규표현식과 매치되는 모든 문자열을 반복 가능한 객체로 돌려줌
finditer_result = pattern.finditer("Hello world")
print("Find iter:")
for match in finditer_result:
    print(f" - {match.group}")
    
출력값 
find all: ['Hello', 'world']
Find iter:
 - <built-in method group of re.Match object at 0x0000023D252388C0>
 - <built-in method group of re.Match object at 0x0000023D25238940>

Git

git은 왜 필요할까?


살면서 수많은 선택에 기로에 놓이는데 특정 무언가를 반영하냐 안하냐에 따라 결과가 달라진다면 체크 포인트가 필요할것이다 개발에 있어서 그중 대표적인
Git을 배워보자

Git과 GitHup는 다르다

add

Commit


딕셔너리

소개

key, value - 키 값

Hashable란?


Hash란?
컴퓨터에서 나온다면 빠르다! 라고 이해하면 된다 메모리를 포기하고 속도를 얻었다라고 보면 된다.해쉬가 가능하려면 값이 고정적이여야함 변하면 안됨

Hashable - 예제



링크1
링크2

value 갱신

딕셔너리 메서드 - keys, values, items, get


※ 겁나 중요 : age_dict = {'나':27, '엄마' : 69}
age_dict.get('아빠') => 에러는 안남
age_dict['아빠'] => 에러!


자주쓴다 "아빠" in "아빠엄마" => True

딕셔너리 병합 - update


세트


세트 중복 불허, 순서를 띄지 않는다 그리하여 단일 값들을 가진다.

세트 메서드 - add(), update(), remove()


세트 연산

교집합 (intersection): & 연산자 혹은 intersection 메소드 사용

합집합 (union): | 연산자 혹은 union 메소드 사용

차집합 (difference): - 연산자 혹은 difference 메소드 사용

대칭차집합 (symmetric difference): ^ 혹은 symmetric_difference 메소드 사용

우리가 아는 집합과 동일하다

세트 - 리스트 형변환

profile
초보개발자

0개의 댓글