ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python 3 기초 문법
    Algorithm 2020. 8. 23. 19:45

    자료형

    - 정수형

    - 실수형

      a = 5. -> 5.0

      a = -.7 = -0.7

      a = 1e9 = 100000000.0

      a = 75.25e1 = 752.5

    round ( a ) 를 통해 반올림 사용

     

    - 리스트 자료형

      a = [1,2,3]

      a = list()

      a = []

     

    - 2차원 리스트 자료형

      array = [ [0] * n for _ in range(n) ]

      n = 3 → [ [0,0,0], [0,0,0], [0,0,0] ]

     

    - 리스트 indexing & slicing

      a = [1, 2, 3, 4, 5, 6, 7, 8, 9]

      a[-1] = 9

      a[0] = 1

      a[-3] = 7

      a[3] = 4

      a[1:4] = 2,3,4

     

    - 리스트 컴프리헨션

    리스트 초기화 방법중 하나. [ ] 안에 조건문과 반복문을 넣어 사용

      array = [ i for i in range(20) if i%2 == 1]

             = [ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

     

    - 리스트 관련 method

    • append : 리스트에 원소 하나를 삽입. O(1) 맨 뒤에 삽입
    • sort() : 리스트 오름차순 정렬 O(nlogn)
    • sort(reverse = true) : 리스트 내림차순 정렬 O(nlogn)
    • reverse() : 리스트의 순서 역순으로 바꾸기 O(n)
    • insert( index, value ) : 해당 index에 value 넣기 O(n)
    • count(value) : 특정 value의 개수 세기 O(n)
    • remove(value) : 특정 value 제거 하기 O(n)

    특정 값들을 제거할 때는 remove x

    리스트를 생성해서 not in 으로 제거

     

    - 문자열 자료형

    문자열 변수를 초기화 할때는 " or ' 사용하여 초기화. 문자열 내부에 " 필요하면 \를 통해 구분짓는다.

    data = "Don't you Know \"Python\" ?"

     

    a = 'hello' b = 'world'

    a+" "+b = hello world

    a*3  = hellohellohello

    a[1:3] = el

     

    - 튜플 자료형

    리스트와 튜플의 차이점

    튜플은 한번 선언된 값을 변경할 수 없음.

    리스트는 [] 튜플은 ()

    인덱스를 통한 접근만 가능. 값 변경은 불가능 하다.

    그래프 알고리즘을 구현할 때 자주 사용한다. 우선순위 큐를 이용할 때 주로 이용한다.

     

    - 사전 자료형

    Key값과 value 값의 쌍을 데이터로 가지는 자료형.

    리스트와 튜플은 순차적으로 저장, dict은 key값을 통해 value 저장

    데이터의 검색과 수정을 O(1)로 해결할 수 있다. 내부적으로 Hash Table 사용.

    data = dict()

    data['사과'] = 'apple'

    data['바나나'] = 'banana'

    '사과' : 'apple' , '바나나' : banana

    data.keys() = '사과', '바나나'

    data.values() = 'apple','banana'

     

    - 집합 자료형

    중복을 허용하지 않는다. 순서가 없다. 인덱싱 불가능.

    키는 존재하지 않고, 값 데이터만 담는다.

    존재 연산의 시간복잡도는 O(1)

    data = set([1,2,3,4,5])

    data = { 1, 2, 3, 4, 5}

     

    집합 자료형의 연산

    a = set([1,2,3,4,5])

    b = set([3,4,5,6,7])

    a | b = 합집합 = {1,2,3,4,5,6,7}

    a & b = 교집합 = {3,4,5}

    a - b = 차집합 = {1,2}

     

    집합자료형 관련 함수

    add (value) : set의 마지막에 value 추가

    update([value]) : set에 여러개 원소 추가

    remove(value) : set에서 value 원소 제거

     

    조건문

    if, elif , else 사용.

    비교연산자 : ==, !=, >, <, >=, <=

    논리연산자 : and, or, not, in, not in

     

    반복문

    while, for

     

    함수

    def 함수명(매개변수) :

          실행 코드

           return 반환 값

    람다표현식 사용가능

    (lambda a,b : a+b)(3,7) = def add(a,b) return a+b

     

    입출력

    input() → 안에 들어오는 값이 value 가된다.

     

    list(map(int, input().split()))

    여러 개의 데이터를 입력 받을때 공백으로 구분되는 경우 사용한다.

    input을 통해 입력을 받고 split()을 통해 공백으로 나눈다 map을 이용하여 해당 리스트의 모든 원소에 int()함수를 씌워 사용한다.

    input() 은 느리기 때문에

    import sys

     

    sys.stdin.readline().rstrip()을 사용한다. rstrip()을 사용해 공백 문자 제거.

    a = 1 , b = 2

    print(a, b) = 1 2

    { } 을 사용하면 f-string 문법 사용 가능

     

    answer = 7

    print(f"정답은 {answer}입니다.")

     

     

    'Algorithm' 카테고리의 다른 글

    이진탐색  (0) 2020.08.30
    정렬  (0) 2020.08.26
    DFS & BFS  (0) 2020.08.25
    Data Clustering Algorithm  (0) 2020.08.24
    Python 3 문법 02  (0) 2020.08.24
Designed by Tistory.