CodeUp Python 기초 100제 정리

so2·2021년 8월 8일
0

CodeUp100 Python 기초 100제 풀면서 정리한 내용 기록 📕

  • 출력 방법
    • sep : 값 사이에 공백이 아닌 문자를 넣고 싶을 때 사용
    • end : print는 기본적으로 출력하는 값 끝에 \n를 붙이기 때문에 한줄에 여러개 값을 출력하고 싶을 경우 사용
        a=10
        b=11

        print(a, b, sep=":")
        print(a,end=' ')
        print(b,end=' ')
        
        # 출력
        10:11
        10
        11
  • 연산자
    • // : 나눈 몫을 계산
  • 반올림
    a = float(input())

    # 소수 3째자리에서 반올림
    # 0까지 표현하고 싶을 땐 format사용 
    # round는 맨 마지막 소수가 0이면 생략한다 
    print(format(a,".2f"))
    print(round(a,2))
  • bool(a) : 입력된 식이나 값(=a)을 평가해 T/F 을 출력해준다

  • not a : 논리값을 뒤집는다 T→F / F→T

  • python은 &&, || 연산자 대신 and, or 을 사용

  • a<<b : a를 2^b배 곱한 값

  • 비트 연산지

    • ~ : 비트단위로 T/F를 바꾼다
    • & : 비트 단위로 and 연산
    • | : 비트 단위로 or 연산
    • ^ : 비트 단위로 xor 연산, 서로 다를 때 1 같을 때 0
  • 정수 3개 입력 받기

    a, b, c = map(int, input().split()) : 
  • 3항 연산
    • x if C else y
      C : T/F 평가할 조건식 또는 값
      x : C 참일 때 사용할 값
      y : C 거짓일 때 사용할 값
        # a>b 일 때 a 리턴, a<=b 일 때 b 리턴
        a if a>b else b
  • chr(i) : 유니코드 값을 입력받아 그 코드에 해당하는 문자 출력
    print(chr(97))
    #출력값
    'a'
  • for문
    # 리스트나 튜플, 문자열의 첫 번째 요소부터 마지막 요소까지 
    # 차례로 변수에 대입 
    for 변수 in 리스트(또는 튜플, 문자열):
    	수행할 문장 
    	....

    # 0부터 9까지 i에 대입 
    for i in range(10):
    	수행할 문장 

    # 1부터 9까지 i에 대입
    for i in range(1, 10):
    	수행할 문장 
  • 16진수 입출력
    n = int(input(),16)
    for i in range(1, 16):
    	    # %X는 16진수로 출력한다는 의미 
            print('%X'%n, '*%X'%i, '=%X'%(n*i), sep='')
  • map
    • 구조 : map(변환 함수, 순회 가능한 데이터)
    • 리턴값 : map
    • 여러 개의 데이터를 한 번에 다른 형태로 변환하기 위해 사용
      def func(x):
          return x+1

      print(list(map(func, [1, 2, 3, 4])))
      # 출력 
      [2, 3, 4, 5]

      print(list(map(func, {1:10, 2:20, 3:30})))
      # 출력 
      [2, 3, 4]

      x = {1:10, 2:20, 3:30}
      print(list(map(func, [x[i] for i in x])))
      # 출력 
      [11, 21, 31]

      print(list(map(int, [1,2,3,4])))
      # 출력 
      [1, 2, 3, 4]

      print(tuple(map(int, [1,2,3,4])))
      # 출력 
      (1, 2, 3, 4)
  • list
    • 구조 : [요소1, 요소2, 요소3, ...]
    • 어떠한 자료형도 리스트의 요소가 될 수 있다
      # 리스트 초기화 
        a = []
        a = [0 for _ in range(10)]

      # 2x3 2차원 배열 초기화 
        a= [[0]*2 for _ in range(3)]

      # 리스트 더하기
        a = [1, 2, 3]
        b = [4, 5, 6]
        print(a + b)
        # 출력 
        [1, 2, 3, 4, 5, 6]

      # 리스트 반복하기
        a = [1, 2, 3]
        print(a * 3)
        # 출력 
        [1, 2, 3, 1, 2, 3, 1, 2, 3]

      # 리스트 요소추가
        a = [1, 2, 3]
        print(a.appnd(4))
        # 출력 
        [1, 2, 3, 4]

      # a번째 위치에 b 삽입 
        a = [1, 2, 3]
        print(a.insert(0,1))
        # 출력 
        [1, 1, 2, 3]

      # 리스트 정렬
        a = [1, 3, 2]
        print(a .sort())
        # 출력 
        [1, 2, 3]

      # 리스트 뒤집기
        a = [1, 2, 3]
        print(a.reverse())
        # 출력 
        [3, 2, 1]

      # 요소 인덱스 반환
        a = [1, 2, 3]
        print(a.index(3))
        # 출력 
        2

      # 리스트 요소 제거 
        a = [1, 2, 3]
        print(a.remove(0))
        # 출력 
        [2, 3]

      # 리스트 마지막 요소 가져오기 (출력 후 삭제)
        a = [1,2,3]
        print(a.pop())
        # 출력 
        3

      # 리스트 요소 개수 세기 
        a = [1, 2, 3, 1]
        print(a.count(1))
        # 출력 
        2

      # 리스트 확장 
      # extend(x) x에는 리스트만 올 수 있음
        a = [1, 2, 3]
        print(a.expend([4, 5]))
        # 출력 
        [1, 2, 3, 4, 5]
  • 리스트와 튜플 차이
    • 리스트는 가변적, 튜플은 불변적
  • 딕셔너리 (Dictionary)
    • 구조 : {Key1:Value1, Key2:Value2, Key3:Value3, ...}
    • 키는 중복되어 저장할 수 없다
    • 키 값으로 리스트는 사용할 수 없지만, 튜플은 사용할 수 있다
    • 순서가 없다
      # 쌍 추가하기 
        a = {1:'a'}
        a[2] = 'b'
        a['name'] = 'pey'
        print(a)
        # 출력 
        {1: 'a', 2: 'b', 'name': 'pey'}

      # 요소 삭제하기 
        a = {1: 'a', 2: 'b', 'name': 'pey'}
        del a[1]
        print(a)
        # 출력 
        {1: 'a', 'name': 'pey'}

      # key 사용해 value 얻기 
        a = {1: 'a', 2: 'b', 'name': 'pey'}
        print(a['name']) or print(a.get('name'))
        # 출력 
        pey

      # keys() : 딕셔너리 key만 모아 리턴 
      # values() : 딕셔너리 value만 모아 리턴 
        a = {1: 'a', 2: 'b', 'name': 'pey'}
        print(a.keys())
        # 출력 
        dict_keys([1, 2, 'name'])
        print(list(a.keys())
        # 출력 
        [1, 2, 'name']

      # items() : key, value쌍 얻기 
        a = {1: 'a', 2: 'b', 'name': 'pey'}
        print(a.items())
        # 출력 
        dict_keys([(1: 'a'), (2: 'b'), ('name': 'pey')])

      # clear() : 요소 모두 지우기 
        a = {1: 'a', 2: 'b', 'name': 'pey'}
        a.clear()
        print(a)
        # 출력 
        {}

      # in : 키가 딕셔너리 안에 있는지 확인 
        a = {1: 'a', 2: 'b', 'name': 'pey'}
        print(1 in a)
        # 출력 
        True
        print(3 in a)
        # 출력 
        False
  • 집합 자료형
    • 집합과 관련된 것을 쉽게 처리하기 위해 만든 자료형
    • 중복을 허용하지 않고 순서가 없다
      # 초기화
        s1 = set([1,2,3])
        s2 = set("Hello")
        print(s1)
        print(s2)
        # 출력 
        {1, 2, 3}
        {'e', 'H', 'l', 'o'}

      # 리스트/튜플 변환 
        s = set([1,2,3])
        print(list(s))
        print(tuple(s))
        # 출력
        [1, 2, 3]
        (1, 2, 3)

      # 교집합/합집합/차집합
        s1 = set([1, 2, 3, 4, 5, 6])
        s2 = set([4, 5, 6, 7, 8, 9])
        # 교집합 구하기 
        print(s1 & s2) or print(s1.intersection(s2))
        # 합집합 구하기 
        print(s1 | s2) or print(s1.union(s2))
        # 차집합 구하기 
        print(s1 - s2) or print(s1.difference(s2))
        #출력
        {4, 5, 6}
        {1, 2, 3, 4, 5, 6, 7, 8, 9}
        {1, 2, 3}

      # add : 값 1개 추가 
      # update : 값 여러 개 추가 
        s1 = set([1, 2, 3])
        s1.add(4)
        print(s1)
        s1.update([5, 6, 7])
        print(s1)
        #출력 
        {1, 2, 3, 4}
        {1, 2, 3, 4, 5, 6, 7}

      # remove : 특정 값 제거 
        s1 = set([1, 2, 3])
        s1.remove(2)
        print(s1)
        # 출력
        {1, 3}

0개의 댓글