[Python] 파이썬 기본 문법 - 함수, 람다 표현식, 라이브러리

Seojin Kwak·2023년 4월 18일
0

함수

  • 매개변수: 함수 내부에서 사용할 변수
  • 반환 값: 함수에서 처리 된 결과 반환
def add(a,b):
	print('결과: ', a+b)
add(3,7)
  • 파라미터 지정 가능: 매개변수 순서 달라도 ok
add(b=3, a=7)
  • global: 전역 변수. 함수 바깥에 선언된 변수 바로 참조. 파이썬은 함수 안에 선언된 변수만 함수 내에서 인식 가능함.
a = 0
def func():
	global a
    a += 1
for i in range(10):
	func()
print(a)	# 10
  • 리턴 값 여러 개 가능

람다 표현식

  • 함수를 한 줄에 작성 가능
print((lambda a, b: a + b)(3,7))
arr = [('김', 50), ('이', 32), ('박', 74)]
def my_key(x):
	return x[1]
print(sorted(array, key=my_key))
print(sorted(array, key=lambda x: x[1]))
# [('이', 32), ('김', 50), ('박', 74)]
l1 = [1,2,3,4,5]
l2 = [6,7,8,9,10]
result = map(lambda a,b: a+b, l1, l2)
print(list(result))		# [7,9,11,13,15]

라이브러리

내장 함수

  • sum(): 리스트, 튜플 원소들의 합
  • min(): 리스트에서 가장 작은 값
  • max(): 리스트에서 가장 큰 값
  • eval(): 문자열 형태 수식의 결과를 수로 반환
  • sorted(): 리스트와 같은 반복 가능한 객체를 오름차순 정렬
    - sorted([], reverse=True): 내림차순 정렬
    - sorted([], key=lambda x: x[1]): key로 정렬

itertools

순열, 조합

  • permutations(): 순열
  • combinations(): 조합
from itertools import permutations, combinations
data = ['a', 'b', 'c']
result1 = list(permutations(data, 3))	# 모든 순열 구하기
result2 = list(combinations(data, 2))	# 2개 뽑는 모든 조합 구하기
  • 중복순열, 중복조합
from itertools import product, combinations_with_data
data = ['a', 'b', 'c']
result1 = list(product(data, repeat=2))					# 2개 뽑는 모든 순열 (중복 허용)
result2 = list(combinations_with_replacement(data, 2))	# 2개 뽑는 모든 조합 (중복 허용)

heapq

우선순위 queue

bisect

이진 탐색

collections

deque, counter

  • counter: 등장 횟수 세는 기능. iterable 객체에서 내부 원소 몇 번씩 등장했는지 count
from collections import Counter
counter = Counter(['r', 'g', 'b', 'r', 'g', 'g'])
print(counter['r'])		# 2
print(dict(counter))	# {'r': 2, 'g': 3, 'b': 1}

math

팩토리얼, 제곱근, 최대 공약수, 삼각함수, pi 상수

  • gcd(): 최대 공약수
import math
def lcm(a,b):	# 최소 공배수 구하기: 최소 공배수 = 두 수의 곱 나누기 최대 공약수
	return a*b // math.gcd(a,b)

참고
이것이 취업을 위한 코딩 테스트다 with 파이썬
https://youtu.be/m-9pAwq1o3w

profile
Hello, World!

0개의 댓글