ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 기본 문법 (3)
    알고리즘 2022. 10. 20. 20:46

    알고리즘 공부를 다시 시작하면서 까먹었던 파이썬 문법 복습입니다.

    인프런 '파이썬 알고리즘 문제풀이 입문 (코딩테스트 대비)' 8강 ~ 12강입니다.

     

     


     

     

    리스트와 내장함수(1)

     

    리스트

    # 빈리스트
    a=[]
    print(a)
    b=list()
    print(b)
    # []
    # []
    
    # 리스트 생성
    c=[1, 2, 3]
    print(c)
    print(c[0])
    # [1, 2, 3]
    # 1
    
    d=list(range(1, 11))
    print(d)
    # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    f = c + d
    print(f)
    # [1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

     

     

    append() & insert() & pop() & remove() & index()

    c.append(6)
    print(c)
    # [1, 2, 3, 6]
    
    c.insert(1, 8)
    print(c)
    # [1, 8, 2, 3, 6]
    # 1번 인덱스에 8
    
    c.pop()
    print(c)
    # 마지막 값 제거
    # [1, 8, 2, 3]
    
    c.pop(3)
    print(c)
    # 3번 인덱스 제거
    # [1, 8, 2]
    
    c.remove(8)
    # c 리스트에서 해당 값의 인덱스 출력
    print(c)
    # 해당 값 제거
    # [1, 2]
    
    print(c.index(2))
    # 1

     

     

    sum() & max() & min()

    a=list(range(1,11))
    print(sum(a))
    # 55
    # a 리스트의 모든 값의 합 출력
    print(max(a))
    # 10
    # a 함수의 최댓값 출력
    print(min(a))
    # 1
    # a 함수의 최솟값 출력
    print(min(7, 5))
    # 5
    # 인자 중 최솟값 출력

     

     

    shuffle() & sort() & clear()

    import random as r
    a=list(range(1,11))
    
    r.shuffle(a)
    print(a)
    # [10, 2, 1, 6, 9, 8, 5, 4, 7, 3]
    
    a.sort()
    print(a)
    # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    # 오름차순
    
    a.sort(reverse=True)
    print(a)
    # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
    # 내림차순
    
    a.clear()
    print(a)
    # []

     

     

    리스트와 내장함수(2)

     

    리스트 슬라이스 & len()

    a = [23, 12, 36, 53, 19]
    print(a[:3])
    # [23, 12, 36]
    # 리스트 슬라이스, 0번 인덱스부터 2번 인덱스까지 출력
    print(a[1:4])
    # [12, 36, 53]
    
    print(len(a))
    # 5
    # 리스트의 길이
    
    # 리스트의 값 하나씩 접근하기
    for i in range(len(a)):
        print(a[i], end=' ')
    print()
    # 23 12 36 53 19
    
    for x in a:
        print(x, end=' ')
    print()
    # 23 12 36 53 19
    
    for x in a:
        if x%2==1:
            print(x, end=' ')
    print()
    # 23 53 19 
    # 홀수만 출력

     

     

    enumerate()

    for x in enumerate(a):
        print(x)
    # (0, 23)
    # (1, 12)
    # (2, 36)
    # (3, 53)
    # (4, 19)
    # 인덱스와 리스트의 원소 튜플형태로 출력
    
    for x in enumerate(a):
        print(x[0], x[1])
    print()
    # 0 23
    # 1 12
    # 2 36
    # 3 53
    # 4 19
    
    for index, value in enumerate(a):
        print(index, value)
    print()
    # 0 23
    # 1 12
    # 2 36
    # 3 53
    # 4 19
    # enumerate는 이런 형태로 많이 사용함

     

     

    튜플

    b = (1, 2, 3, 4, 5)
    print(b[0])
    # 1
    # b[0] = 7
    # TypeError: 'tuple' object does not support item assignment
    # 튜플값은 변경 불가

     

     

    all & any

    # a = [23, 12, 36, 53, 19]
    
    if all(60>x for x in a):
        print("YES")
    else:
        print("NO")
    # YES
    # 조건 모두가 참
    # 조건 중 1개만 거짓이어도 거짓
    
    if all(50>x for x in a):
        print("YES")
    else:
        print("NO")
    # NO
    
    if any(15>x for x in a):
        print("YES")
    else:
        print("NO")
    # YES
    # 조건 중 1개라도 참이면 참
    # 모두가 거짓일때 거짓

     

     

    2차원 리스트 생성과 접근

     

    1차원 리스트 생성

    a = [0]*3
    print(a)
    # [0, 0, 0]
    # 크기가 3인 0으로 초기화된 1차원 리스트

     

     

    2차원 리스트 생성

    a = [[0]*3 for _ in range(3)]
    print(a)
    # [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
    # 2차원 리스트 생성

     

     

    2차원 리스트 출력

    a = [[0]*3 for _ in range(3)]
    a[0][1] = 1
    a[1][1] = 2
    print(a)
    # [[0, 1, 0], [0, 2, 0], [0, 0, 0]]
    # 값 바꾸기
    
    for x in a:
        print(x)
    # [0, 1, 0]
    # [0, 2, 0]
    # [0, 0, 0]
    
    for x in a:
        for y in x:
            print(y, end=' ')
        print()
    # 0 1 0 
    # 0 2 0 
    # 0 0 0

     

     

    함수 만들기

    def add(a, b):
        c=a+b
        print(c)
        
    add(3, 2)
    # 5
    
    def add(a,b):
        c=a+b
        return c
    
    print(add(5, 8))
    # 13
    # return은 함수의 종료 의미도 있음
    
    def add(a,b):
        c=a+b
        d=a-b
        return c, d
    
    print(add(5, 1))
    # (6, 4)
    # 튜플 형태로 여러개의 값을 return
    def isPrime(x):
        for i in range(2, x):
            if x%i==0:
                return False
        return True
    
    a=[12, 13, 7, 9, 19]
    for x in a:
        if isPrime(x):
            print(x, end=' ')
    # 13 7 19 
    # 소수만 출력

     

     

    람다함수

    def plus_one(x):
        return x+1
    print(plus_one(1))
    #2
    
    plus_two = lambda x: x+2
    print(plus_two(1))
    # 3
    # plus_two는 변수명
    
    # 람다함수는 내장함수의 인자로 사용할 때 편리
    a=[1, 2, 3]
    print(list(map(plus_one, a)))
    print(list(map(lambda x: x+1, a)))
    # [2, 3, 4]

     

    728x90

    '알고리즘' 카테고리의 다른 글

    section2.2 K번째 수  (0) 2022.10.21
    section2.1 K번째 약수  (0) 2022.10.20
    VS Code 파이썬 개발환경 구축, txt 파일로 입출력 받기  (1) 2022.10.20
    파이썬 기본 문법 (2)  (0) 2022.10.19
    파이썬 기본 문법 (1)  (0) 2022.10.19
Designed by Tistory.