파이썬 알고리즘 문제 풀이에 자주 사용되는 형태 정리(계속 추가됨)
split 함수
문자열.split()
문자열.split('구분자')
문자열.split('구분자', 분할횟수)
문자열.split(sep='구분자', maxsplit=분할횟수)
구분자는 생략가능
문자열을 maxsplit 횟수만큼 sep 구분자를 기준으로 문자열을 구분하여 리스트로 만듦.
maxsplit의 기본값은 -1. 문자열 전체를 계속해서 자름
문자열.split(1) 불가능
문자열.split(',', 1) 가능
문자열.split(maxsplit=1) 가능
.split()의 경우 띄어쓰기와 엔터를 구분해서 문자열을 나눔.
예시)
s = "aa.bb.cc."
t = "aa.bb.cc.dfdf.adad.dfaioi"
r0 = s.split()
r1 = s.split('.')
r2 = s.split(sep='.')
print(r0)
print(r1)
print(r2)
print(t.split('.', 3))
결과 :
['aa.bb.cc.']
['aa', 'bb', 'cc']
['aa', 'bb', 'cc']
['aa', 'bb', 'cc', 'dfdf.adad.dfaioi']
map(function, iterable)
여러개의 데이터를 한 번에 다른 형태로 변환 가능.
인자 : 함수, 반복 가능한 자료형(리스트, 튜플 등)
함수에는 함수 또는 변환하고 싶은 자료형 list, int등이 들어올 수 있음.
users = [{'mail': '[email protected]', 'name': 'Brett Holland', 'sex': 'M'},
... {'mail': '[email protected]', 'name': 'Madison Martinez', 'sex': 'F'},
... {'mail': '[email protected]', 'name': 'Michael Jenkins', 'sex': 'M'},
... {'mail': '[email protected]', 'name': 'Karen Rodriguez', 'sex': 'F'},
... {'mail': '[email protected]', 'name': 'Amber Rhodes', 'sex': 'F'}]
def conver_to_name(user):
... first, last = user["name"].split()
... return {"first": first, "last": last}
for name in map(conver_to_name, users):
... print(name)
...
결과 >
{'first': 'Brett', 'last': 'Holland'}
{'first': 'Madison', 'last': 'Martinez'}
{'first': 'Michael', 'last': 'Jenkins'}
{'first': 'Karen', 'last': 'Rodriguez'}
{'first': 'Amber', 'last': 'Rhodes'}
map과 split을 활용하여 입력 받은 정수들의 합을 구하기
a, b = map(int, input('숫자 두 개를 입력하세요: ').split())
print(a + b)
결과 >
숫자 두 개를 입력하세요: 10 20 (입력)
30
print(sep="", end="")
출력문에 옵션 부여하기
sep = ""은 출력문들을 구분하면서 넣어줄 문자를 설정할 수 있음.
생략시 공백으로 구분됨
end = ""는 출력을 완료한 뒤의 내용을 수정할 수 있음.
생략시 자동으로 개행됨
print("a", "b", "c")
print("d", "e", "f")
결과 >
a b c
d e f
print("a", "b", "c", end = "")
print("d", "e", "f", sep = "")
결과 >
a b cdef
윗줄에서 개행을 없애고 아랫줄에서 구분자 없이 출력되도록 하였다.
print("a", "b", "c", end = "wow\n")
print("d", "e", "f", sep = "wow")
결과 >
a b cwow
dwowewowf
파이썬 문자열 연산
파이썬에서는 문자열의 더하기와 곱하기가 지원된다.
문자열 더하기는 문자열끼리 연결시켜준다.
a = '엄'
b = '준'
c = '식'
print(a + b + c)
결과 >
엄준식
문자열 곱하기는 곱한 개수만큼 문자를 출력할 수 있다.
for i in range(1, int(input())+1):
print('*' * i)
결과 >
5 입력 >
*
**
***
****
*****
사칙연산 연산자
** 거듭제곱
// 나누기 연산 후 정수 부분(몫)
% 나누기 연산 후 나머지 부분
M = int(input())
a = M // 10 # 십의 자리 숫자
b = M % 10 # 일의 자리 숫자
print(a, b)
결과 >
26 입력 >
2, 6
Author And Source
이 문제에 관하여(파이썬 알고리즘 문제 풀이에 자주 사용되는 형태 정리(계속 추가됨)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@astar5327/파이썬-알고리즘-문제-풀이에-자주-사용되는-형태-정리계속-추가됨저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)