일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 태블로
- 팀프로젝트
- 머신러닝
- Python
- SQL
- data analyst
- da
- 데이터 분석
- streamlit
- 히트맵
- 프롬프트 엔지니어링
- 프로젝트
- jd
- 전처리
- 기초프로젝트
- Chat GPT
- 최종 프로젝트
- If
- 군집화
- cross join
- 서브쿼리
- 시각화
- 클러스터링
- 기초통계
- 크롤링
- GA4
- pandas
- SQLD
- lambda
- 데이터분석
- Today
- Total
세조목
PYTHON 정리('not in', mutable&immutable(문자열 수정), 파일 읽기 & 쓰기에서의 replace)(24.01.16) 본문
PYTHON 정리('not in', mutable&immutable(문자열 수정), 파일 읽기 & 쓰기에서의 replace)(24.01.16)
세조목 2024. 1. 16. 19:101. 'not in' 사용
조건문 작성 時 'not in' 을 사용할 수 있다.
아래 프로그래머스 예제에서처럼 특정 숫자가 리스트에 포함되어있는지 여부를 확인하고자할 때
not in을 쓰면 코드 작성이 간결해질 것 같았다.
https://school.programmers.co.kr/learn/courses/30/lessons/86051
SQL에서처럼 'not in'을 사용할 수 있는지 확인해본 결과
PYTHON에서도 조건절 작성 時 'not in'을 사용할 수 있었다.
def solution(numbers):
answer = 0
for i in range(0,10):
if i not in numbers:
answer+=i
return answer
위 코드와같이 i가 numbers라는 이름의 리스트에 들어있지 않다면 answer에 i를 더하게 된다.
2. 자료형 타입(mutable, immutable)(feat. 문자열 수정)
문자열의 특정 부분을 다른 문자로 바꾸고자할때
아래와 같은 오류 메시지가 뜰것이다.
# TypeError: 'str' object does not support item assignment
문자열은 수정할 수 없다는 말이다.
왜 그럴까?
이는 python문법을 이해한다면 단박에 이유를 알게된다.
python 자료형은 mutable 타입과 immutable타입이 있는데
리스트, 딕셔너리가 대표적인 mutable 타입이고,
튜플, 문자열이 대표적인 immutable 타입이다.
앞서 언급한대로 문자열은 immutable 타입이기때문에 수정이 불가능하므로
문자열의 특정 부분을 수정하고자한다면
- 문자열을 리스트로 변환해서 특정 부분을 수정한 후
- 리스트를 다시 문자열로 바꿔주면 된다.
아래 예제가 위에서 설명한 문자열 수정을 활용하는 예제다(아닐수도 있지만 나는 그렇게 풀었다).
https://school.programmers.co.kr/learn/courses/30/lessons/12948
def solution(phone_number):
for i in range(len(phone_number)-4):
phone_number = list(phone_number)
phone_number[i] = '*'
phone_number = ''.join(phone_number)
return phone_number
정답 코드를 살펴보면
- 문자열을 list로 바꿔준 후
- 특정 부분을 인덱싱해서 '*'로 바꿔주었다.
- 그런 다음 join메소드를 사용하여 리스트를 다시 문자열로 바꿔준 것을 확인할 수 있다.
3. 파읽 읽고 쓰기에서의 replace 사용
python에서 파일을 읽고 쓸때 replace함수를 사용하여 특정 문자를 다른 문자로 바꿀 수 있다.
replace함수 사용에 앞서 우선 txt파일을 별도로 하나 만들어준다.
f = open('example.txt', 'w')
abb = f.write('This is example.\nKeep writing")
f.close()
이렇게 하면
This is example
Keep writing
이 적힌 example이라는 이름의 txt파일이 생성될 것이다.
그런다음
f = open('example.txt','r')
abb = f.read()
f.close()
코드를 통해 example.txt 파일을 읽기모드로 불러오고
abb = abb.replace('writing', 'reading')
를 입력해서 'writing'을 'reading'으로 수정해준다.
f = open('example.txt', 'w')
f.write(body)
f.close()
마지막으로 example.txt에 쓰기모드로
'writing'을 'reading'으로 수정한 변수 body를 입력해주면 된다.
'데이터 분석 공부 > Python' 카테고리의 다른 글
PYTHON 정리(점프투파이썬 - 클래스)(24.01.18) (0) | 2024.01.18 |
---|---|
PYTHON 정리(가장 작은 수 뽑아내기, SORTED, REMOVE, LEN, APPEND) (0) | 2024.01.17 |
PYTHON 정리(히트맵 색상 변경)(24.01.12) (0) | 2024.01.12 |
PYTHON 정리(IDE(VSCode, Pycharm등)에서의 라이브러리 사용을 위한 라이브러리 설치)(24.01.12) (0) | 2024.01.12 |
PYTHON 정리(원하는 row만 제거, 컬럼 순서 바꾸기, 컬럼명 변경)(24.01.10) (0) | 2024.01.10 |