ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 기본 기능(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)이다.

     

     

     

    반응형

    댓글

Designed by Tistory.