Python split(), replace(), 소숫점, 반복문, list, 중복제거, sort(), pop()

Syntax Notes

목록 보기
1/4
post-thumbnail

1️⃣ split( )

  • 문자열을 공백 또는 특정한 문자(열) 기준으로 나누어 리스트를 만듦. 리스트를 반환함.
  • split('분리기준') 분리 기준을 따로 지정하지 않으면 기본적으로 공백을 기준으로 함.
  • split( )과 정확히 반대 역할 : join( )

2️⃣ 문자열 공백제거

문자열변수명.replace(" ", "")

3️⃣ 소숫점 처리

  • /와 //의 차이
    /는 나눈 결과가 소수 형태로 나오고, //는 몫 연산으로 정수로 나옴.

  • 내장 라이브러리 math의 ceil함수(천정함수)와 floor함수(바닥함수) 사용할 수 있음.

    math.floor(num1/num2)

  • int( )를 쓰거나 round( )를 쓸 수도 있음.
    근데 round()는 주의해야 함. ⚠️ round(n.5)는 가까운 짝수를 따라가기 때문임.

  • 소숫점 자릿수 지정
    e.g. round(수, 1) 소숫점 첫째자리까지 나타냄.

4️⃣ list 안에 for를 넣어서 리스트의 요소들을 연속으로 입력받는 문법

c = [ int(input()) for _ in range(N) ]

c안에 리스트를 넣을 거니까 위와 같이 [ ] 로 감싸야 함

아래와 같이 2차원 리스트를 만들 수도 있음.

arr = [list(map(int, input().split())) for _ in range(N)]

5️⃣ while, for 반복문

  • for-each 문으로 이차원 배열 원소 가져오기 예시
    : for-each 문으로 1차원 배열 원소 하나씩 가져오는 거랑 똑같음.

    arr = [[10, 30], [2, 8], [3, 12], [7, 35], [1, 5], [1, 7]]
        
    for P, C in arr:  # arr의 원소 하나씩 가져와서 P, C에 넣음
        for _ in range(P):
            piece.append(C // P)
    
  • 반복문 while의 조건을 True, False

    # 가지고 있는 돈 K가 0이 될 때까지 조각을 계속 구매합니다.
    while K:
        K -= 1
        result += piece.pop()
    

6️⃣ list

  • 원소 중복제거를 set( )으로
    data_list = list(set(data_list))
  • list는 원소가 있으면 True, 원소가 없으면 False
    while K and arr:  
    # K 값이 0이 아니고, arr에 값이 있는 동안만 while문을 진행합니다.

7️⃣ 정렬 sort( )

  • sort( ), sorted( ) 내장 함수는 파이썬에서 순회가 가능한(iterable) 객체를 인자로 받아 데이터를 정렬해줄 수 있음.
    sorted( )함수는 sort된 리스트를 반환함.

    리스트명.sort()
     lst = sorted(list1)
  • sort( )와 reverse( ) 차이
    sort( ) : 기준에 따라 오름차순 또는 내림차순 정렬을 하는 것.
    내림차순 정렬은 sort(reverse=True).
    reverse( )는 단순히 그 리스트의 순서를 뒤집는 것임.

    list(reversed(리스트명)) # 거꾸로 뒤집은 리스트를 반환함.

    ⚠️ reversed(리스트)는 리스트를 반환하지 않고 대신 iterator(반복자)를 반환한다.

    >>> nums = [1, 2, 3]
     >>> reversed_nums = reversed(nums)
     >>> type(reversed_nums)
     <class 'list_reverseiterator'>

  • 정렬 key를 사용하여 정렬의 우선순위 정하기 예시

    arr.sort(key=lambda x : x[1] // x[0])
    # 이차원 배열이 있을 때 각 원소의 x[1] // x[0]의 값이 작은 순서대로 원소를 정렬
    
    data_list.sort(key=lambda x : len(x))
    # x의 길이가 짧은 순서를 우선순위로 하여 정렬

8️⃣ 리턴 후 삭제 pop( )

list.pop( )  # 리스트의 맨 마지막 원소(오른쪽) 리턴 후 삭제
removed_lst.append(list.pop(i))  # 리스트의 i번째 원소 리턴 후 원래 있던 list에선 삭제
							 # 새로운 리스트에 대입
                             
# list.pop(obj=list[-1]) : Removes and returns last object or obj from the list

P, C = arr.pop()  # 2D 배열일 경우 원소의 값을 이렇게 가져올 수 있음
profile
학습 메모장 : 코테 및 알고리즘, 언어 문법, Java 기본 강의...

0개의 댓글