-
파이썬 기본 기능(append, insert, del, index, reverse, slicing, type, max, min, sort, sorted, str, len)알고리즘/파이썬 2023. 9. 10. 21:38반응형
append, insert, del, index, reverse
my_list = [7, 5, 2, 3, 6] my_list.append(9) # 끝에 9 추가 print(my_list) # => [7, 5, 2, 3, 6, 9] my_list.insert(2, 11) # 2번 인덱스에 11 추가 print(my_list) # => [7, 5, 11, 2, 3, 6, 9] del my_list[2] # 2번 인덱스 값 삭제 print(my_list) # => [7, 5, 2, 3, 6, 9] my_index = my_list.index(9) # 리스트에서 9의 인덱스 print(my_index) # => 5 my_list.reverse() # 리스트 뒤집기 print(my_list) # => [9, 6, 3, 2, 5, 7]
append 메소드를 사용하면 리스트 끝에 새로운 값이 추가됨. 시간복잡도는 O(1), insert, del, index, reverse는 모두 O(n) 이다.
sort, sorted
my_list = [7, 5, 2, 3, 6] print(sorted(my_list)) # => [2, 3, 5, 6, 7] print(my_list) # => [7, 5, 2, 3, 6] my_list.sort() print(my_list) # => [2, 3, 5, 6, 7]
sort 메소드와 sorted함수는 리스트를 정렬시켜준다. sorted함수를 사용하면 정렬된 새로운 리스트가 리턴되고, sort 메소드는 그 리스트 자체를 정렬시켜준다는 차이점이 있다. 두 메소드의 시간복잡도는 모두 O(n)이다.
str
my_str = str(257138) print(my_str) # => 257138 print(type(my_str)) # => <class 'str'>
str 함수를 사용하면 숫자를 문자열로 바꿀 수 있다.
파라미터를 n이라고 하고 n의 자릿수를 d라고 한다. 그러면 str 함수의 시간 복잡도는 O(log n)으로 나타낼 수도 있고 O(d)로 나타낼수도 있다.
max, min
print(max(2, 5)) # => 5 print(max(2, 7, 5)) # => 7 print(min(2, 5)) # => 2 print(min(2, 7, 5, 11, 6)) # => 2
파라미터의 개수를 n이라고하면 max 함수와 min 함수의 시간복잡도는 O(n)이다.
type
print(type([7, 5, 2, 3, 6])) # => <class 'list'> print(type(5)) # => <class 'int'> print(type(3.14)) # => <class 'float'> print(type(True)) # => <class 'bool'> print(type("True")) # => <class 'str'>
type 함수를 사용하면 파라미터의 데이터 타입이 리턴된다. 시간 복잡도는 O(1)이다.
slicing
my_list = [7, 5, 2, 3, 6] print(my_list[1:4]) # => [5, 2, 3] print(my_list[:4]) # => [7, 5, 2, 3] print(my_list[1:]) # => [5, 2, 3, 6] print(my_list[:]) # => [7, 5, 2, 3, 6] print(my_list[::2]) # => [7, 2, 6]
리스트 슬라이싱을 하면 리스트의 일부를 받아 올수 있다. 리스트 슬라이싱의 시간 복잡도는 슬라이싱의 범위 길이에 비례한다. my_list[a:b]를 하면 시간 복잡도는 O(b-a)이다.
len
my_list = [7, 5, 2, 3, 6] my_dict = {'a': 2, 'b': 3, 'c': 5, 'd': 7} my_string = 'hello world' print(len(my_list)) # => 5 print(len(my_dict)) # => 4 print(len(my_string)) # => 11
len 함수를 사용하면 리스트, 사전, 문자열 등의 길이가 리턴된다. 시간복잡도는 O(1)이다.
반응형'알고리즘 > 파이썬' 카테고리의 다른 글
[자료구조] 파이썬 리스트 (동적 배열) 정의 크기 시간복잡도 분할 상환 분석 비교, 삽입 연산 (1) 2023.12.04