-
Python 기본 Method 및 함수 정리python algorithm 2024. 2. 17. 21:30
1. 리스트 요소 추가
# .insert() : 특정 위치에 특정 element 추가
a = [1, 2, 3] a.insert(1, 10) # index = 1에 10 추가 print(a) # [1, 10, 2, 3]
# .append() : 리스트 마지막에 한 개의 element 추가
a = [1, 2, 3] a.append(10) # 마지막 index에 10 추가 print(a) # [1, 2, 3, 10]
# .extend() : 리스트 마지막에 sequential elements 추가
a = [1, 2, 3] add_list = ['a', 'b', 'c'] a.extend(add_list) # 마지막 index에 add_list elements 추가 print(a) # [1, 2, 3, 'a', 'b', 'c']
2. 리스트 요소 삭제
# .clear() : 리스트의 모든 내용 삭제
a = [1, 2, 3] a.clear() print(a) # []
# .remove() : 리스트의 특정 element 삭제 / 동일한 값이 있을 때는 index가 가장 낮은 값 제거
a = [1, 2, 3] a.remove(2) print(a) # [1, 3]
# filter(function, iterable) : 주어진 function으로 iterable을 필터링
numbers = [-2, -1, 0, 1, 2, 3, 4, 5] positive_numbers = list(filter(lambda x: x > 0, numbers)) # numbers에서 lambda 함수를 만족하는 값을 filtering 해서 list로 반환 print(positive_numbers) # 출력: [1, 2, 3, 4, 5]
# del() : 리스트의 특정 위치의 element 삭제
a = [1, 2, 3, 4, 5] del(a[1]) print(a) # [1, 3, 4, 5] del(a[1:3]) print(a) # [1]
# .pop() : 리스트의 위치의 element를 출력한 다음 삭제 (default = -1)
a = [1, 2, 3, 4, 5] a.pop() # 5 print(a) # [1, 2, 3, 4]
3. 분리 및 연결, 검색
# .split(sep, maxsplit) : 특정 element를 중심으로 리스트로 분리
- sep : 분리의 구분자, default는 공백
- maxsplit : 최대 분할 횟수, default = -1로, 가능한 모든 분할 수행
a = 'ainow@tistory' a.split('@') print(a) # ['ainow', 'tistory']
# .splitness(keepends) : 문자열을 개행 문자를 기준으로 분리
- keepends : True일 경우 개행문자를 결과에 포함
text = "line 1\nline 2\r\nline 3" result = text.splitlines() print(result) # ['line 1', 'line 2', 'line 3'] result_with_ends = text.splitlines(keepends=True) print(result_with_ends) # ['line 1\n', 'line 2\r\n', 'line 3']
# .strip([chars]) / .lstrip() / .rstrip() : 양 끝의 개행 문자 혹은 특정 문자열을 제거하여 반환
text = "---Hello, World!---" stripped_text = text.strip('-') print(stripped_text) # "Hello, World!"
# .join() : 주어진 문자열을 연결
# CASE 1 delimiter = '-' my_list = ['apple', 'banana', 'orange'] result = delimiter.join(my_list) print(result) # 'apple-banana-orange' # CASE2 my_list = ['p','y','t','h','o', 'n'] print(''.joint(my_list)) # 'python'
# .index(sub, start, end) : 리스트의 특정 element의 index 반환
- 'sub' element가 start index에서 end index 내에서 어디에 있는지 반환
- start만 있으면 start 지점부터 끝까지,
- end만 있으면 처음부터 end 지점까지.
a = [1, 2, 3, 4, 5] print(a.index(3)) # 2
4. 정렬
# .sort(key, reverse) : 리스트를 정렬 / 원래의 리스트를 정렬된 리스트로 변환
- 새로운 리스트를 생성하지 않음
- key= : 정렬에 사용할 키 함수
- reverse= : 내림차순 정렬 여부
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] my_list.sort() print(my_list) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
# sorted(key, reverse) : 리스트를 정렬 / 원래의 리스트를 정렬된 리스트로 변환하지 않음
- 새로운 리스트 생성
- key= : 정렬에 사용할 키 함수
- reverse= : 내림차순 정렬 여부
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sorted_list = sorted(my_list) print(sorted_list) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9] print(my_list) # [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
# list(set(my_list)) : 리스트에 중복된 값을 제거하고 정
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] result = list(set(my_list)) print(result) # 순서가 없는 중복 제거된 set: [1, 2, 3, 4, 5, 6, 9] # list() 함수를 사용하여 변환하면서 정렬: [1, 2, 3, 4, 5, 6, 9]
5. 대소문자
# .capitalize() : 문자의 첫글자만 대문자로 변환
text = "hello world" result = text.capitalize() print(result) # "Hello world"
# .upper() : 모든 문자를 대문자로 변환
text = "hello world" result = text.upper() print(result) # "HELLO WORLD"
# .lower() : 모든 문자를 소문자로 변환
text = "Hello World" result = text.lower() print(result) # "hello world"
# .casefold() : 문자열을 소문자로 변환하는 method로, 문자열 비교시 사용에 유용
text = "Hello World" result = text.casefold() print(result) # "hello world"
6. 기타
# eval() : 문자열로 표현된 표현식을 실행하여 결과를 반환하는 함수
# 수학적인 표현식을 문자열로 표현하고 eval()로 실행 result = eval("3 + 5 * 2") print(result) # 13 # 변수와 함수를 포함한 파이썬 코드를 문자열로 표현하고 eval()로 실행 x = 10 y = 20 code = "x + y" result = eval(code) print(result) # 30
# .center(width, fillchar) : 문자열을 형식에 맞게 중앙 정렬
text = "Hello" centered_text = text.center(10, '-') print(centered_text) # "--Hello---"
# .ljust(width, fillchar) : 문자열을 형식에 맞게 왼쪽 정렬
text = "Hello" left_aligned_text = text.ljust(10, '*') print(left_aligned_text) # "Hello*****"
# .rjust(width, fillchar) : 문자열을 형식에 맞게 오른쪽 정렬
text = "Hello" right_aligned_text = text.rjust(10, '#') print(right_aligned_text) # "#####Hello"
# .count(sub, start, end) : start index와 end index 사이에 있는 문자열 sub와 동일한 부분 문자의 갯수 반환
text = "abababab" count_1 = text.count("ab") print(count_1) # 4 (전체 문자열에서 "ab"가 4번 등장) count_2 = text.count("ab", 2) print(count_2) # 3 (인덱스 2 이후부터의 문자열에서 "ab"가 3번 등장) count_3 = text.count("ab", 2, 6) print(count_3) # 2 (인덱스 2부터 5까지의 부분 문자열에서 "ab"가 2번 등장)
'python algorithm' 카테고리의 다른 글
이진 변환 반복하기 (0) 2024.02.18 캐시 크기에 따른 실행 시간 측정 (0) 2024.02.18 다트 게임 (0) 2024.02.16 실패율 (0) 2024.02.14 신규 아이디 추천 (0) 2024.02.13