[코테] 자주 쓰이는 Python 기본 함수 정리 (계속 업데이트)

2022. 3. 26. 22:54·Algorithms 💻/Basic
반응형

블로그 주인이 계속 공부하면서 업데이트 될 예정입니다.
구현 등의 코딩테스트 문제 유형에 기출되었던 기본적인 내장 Python 함수 모음입니다!

 

자세한 내용은 제 github repo를 참고해주세요 :D 개인 기록용이긴 합니다ㅎㅎ..

 

GitHub - daeunni/For_codingtest: 다은이의 알고리즘 아카이브 📝🔥

다은이의 알고리즘 아카이브 📝🔥. Contribute to daeunni/For_codingtest development by creating an account on GitHub.

github.com


ord( ) / chr( )

ord()는 문자열을 아스키코드(숫자)로 반환하는 함수이고, chr()은 아스키코드를 문자열로 반환하는 함수! 

chr(65)
>>> A

ord('a')
>>> 97

ex) 위치가 A1 등으로 주어질 때 A의 row 위치를 숫자로 반환해야할 때 


isalpha( ) / isalnum( )

isalpha()는 문자열이면 True, 아니면 False를 리턴하고,  isalnum()은 숫자면 True, 아니면 False를 리턴함 

text1 = 'abcd'
text1.isalpha() 
>>> True

text2 = 1234
text2.isalnum()
>>> True

filter (조건함수, 순회 가능 데이터)

filter 는 일부의 데이터만 추려낼 때 사용하는 함수임! 특히 출력을 filter 자료형으로 하기 때문에, 출력 값에 list를 씌워줘야 함 ~_~

string = '0001100'
res = list(filter(lambda x: string[x]=='0', range(len(string))))
>>> [0, 1, 2, 5, 6]

eval( 수식 ) 

eval은 python code로 실행 가능한 문자열을 인자로 받아 실제로 실행해주는 함수. 예를들면 '5+3' 등의 수식을 실제로 계산해주거나, 'round(4.9)' 를 실제로 반올림 해주는 등의 기능을 한다! 

eval('5+4')
>>> 9

eval('round(4.9)')
>>> 5

itertools 라이브러리 

리스트에서 순열, 조합을 계산해주는 내장 라이브러리이다. 두개의 리스트에서 모든 조합을 계산할 때는 product method 사용!

items = ['1', '2', '3', '4', '5'] 

from itertools import permutations     # 중복 허용할 때!  (순열)
list(permutations(items, 2)) 
>>> [('1', '2'), ('1', '3'), ('1', '4'), ('1', '5'), ('2', '1'), ('2', '3'), ('2', '4'), ('2', '5'), ('3', '1'), ('3', '2'), ('3', '4'), ('3', '5'), ('4', '1'), ('4', '2'), ('4', '3'), ('4', '5'), ('5', '1'), ('5', '2'), ('5', '3'), ('5', '4')] 

from itertools import combinations   # 중복 허용하지 않을 때!  (조합)
list(combinations(items, 2))
>>> [('1', '2'), ('1', '3'), ('1', '4'), ('1', '5'), ('2', '3'), ('2', '4'), ('2', '5'), ('3', '4'), ('3', '5'), ('4', '5')]

 


A.sort( )  / sorted( 리스트 )

sorted( 리스트 )는 새로 정렬된 목록을 return 하되, 원래 정렬은 유지된다. 
하지만 sort()는 원래 정렬까지 바꾸고, None을 반환한다. 

+) 참고로 알파벳 순서로도 정렬할 수 있다 !

sorted( [5, 2, 3, 1, 4] )
>>> [1, 2, 3, 4, 5]              # 원본은 그대로 유지됨 

a = [5, 2, 3, 1, 4]
a.sort() 
>>> None                 # 근데 a는 바뀐상태

디폴트는 오름차순이고, 내림차순으로 정렬하고 싶다면 sort(reverse=True) 옵션을 사용할 수 있다. 


max(A, B) / min(A, B)

A, B 둘 중 크거나 작은 값을 변수에 저장할 때 유용하다. 
if 조건문을 쓰지 말고 이 함수로 간단히 해결해보자 ! 

반응형
저작자표시 (새창열림)

'Algorithms 💻 > Basic' 카테고리의 다른 글

[알고리즘] 백트래킹(Backtracking)을 알아보자  (0) 2022.04.05
[알고리즘] 특정 기준으로 리스트 정렬하기 (python) - key=lambda  (0) 2022.03.27
[알고리즘] 큐를 이용해 BFS 구현하기 (python)  (0) 2022.03.21
[자료구조] - (2) 스택(Stacks) with Python  (0) 2021.03.11
[자료구조] (1) - 연결리스트(Linked List) with Python  (0) 2021.02.27
'Algorithms 💻/Basic' 카테고리의 다른 글
  • [알고리즘] 백트래킹(Backtracking)을 알아보자
  • [알고리즘] 특정 기준으로 리스트 정렬하기 (python) - key=lambda
  • [알고리즘] 큐를 이용해 BFS 구현하기 (python)
  • [자료구조] - (2) 스택(Stacks) with Python
당니이
당니이
씩씩하게 공부하기 📚💻
  • 당니이
    다은이의 컴퓨터 공부
    당니이
  • 전체
    오늘
    어제
    • 분류 전체보기 (136)
      • Achieved 👩🏻 (14)
        • 생각들 (2)
        • TIL (6)
        • Trial and Error (1)
        • Inspiration ✨ (0)
        • 미국 박사 준비 🎓 (1)
      • Computer Vision💖 (39)
        • Basic (9)
        • Video (5)
        • Continual Learning (7)
        • Generative model (2)
        • Domain (DA & DG) (5)
        • Multimodal (8)
        • Multitask Learning (1)
        • Segmentation (1)
        • Colorization (1)
      • RL 🤖 (1)
      • Autonomous Driving 🚙 (11)
        • Geometry (4)
        • LiDAR 3D Detection (1)
        • Trajectory prediction (2)
        • Lane Detection (1)
        • HDmap (3)
      • Linux (15)
      • PyTorch👩🏻‍💻 (10)
      • Linear Algebra (2)
      • Python (5)
      • NLP (10)
        • Article 📑 (1)
      • Algorithms 💻 (22)
        • Basic (8)
        • BAEKJOON (8)
        • Programmers (2)
      • ML (1)
        • 통계적 머신러닝(20-2) (1)
      • SQL (3)
      • 기초금융 💵 (1)
  • 블로그 메뉴

    • 홈
    • About me
  • 링크

    • 나의 소박한 github
    • Naver 블로그
  • 공지사항

  • 인기 글

  • 태그

    dfs
    domain adaptation
    pytorch
    Python
    NLP
    CV
    CL
    til
    알고리즘
    백준
    continual learning
    백트래킹
    리눅스
    LLM
    conda
    Incremental Learning
    자료구조
    코딩테스트
    domain generalization
    Linux
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
당니이
[코테] 자주 쓰이는 Python 기본 함수 정리 (계속 업데이트)
상단으로

티스토리툴바