파이썬 코테 함수 - 내장함수

장현진·2022년 10월 21일
0

코딩테스트를 위한 파이썬 함수

1. 내장함수

  1. 파이썬 min(iterable) max(iterable) 함수 예제
  • (iterable 객체 - 반복 가능한 객체)

=========================================================
# min(iterable) 함수 예제1 : 리스트 이용
a = [1, 2, 3]
print(min(a))  # 반환 : 1

=========================================================
# min(iterable) 함수 예제2 : 문자열 이용
b = 'BlockDMask'
print(min(b))  # 반환 : 'B'

=========================================================
# min(iterable) 함수 예제5 : 리스트 이용2
e = [3, 4, 5, 'a', 'b', 'c']
# print(min(e))  # error : str 타입과 int 타입은 비교할 수 없기 때문

=========================================================
# min(arg1, arg2) 함수 예제1 : 리스트
a = [1, 2, 3]
b = [4, 5, 6]
print(min(a, b))   # 반환 : [1,2,3]

=========================================================
# min(arg1, arg2) 함수 예제2 : 문자열
c = 'BlockDMask'
d = 'BAAAlockDMask'
print(min(c, d))   # 반환 : 'B'

=========================================================
# min(arg1, arg2, ...) 함수 예제4 : 인자가 N 개
g = [2, 3, 4]
h = [2, 2, 2, 2, 2]
i = [9, 8, 7, 6, 5]
j = [1]
k = [0]
print(min(g, h, i, j, k) )   # 반환 : [0]//객체 비교시 합이아닌 가장 앞부터 비교하여 오름차순정리
print(min(g, h, i, j, k , key=lambda x : x[1]))  # 반환 [2,2,2,2,2]


dicts = {"c":1, "b":2, "a":3} 
print("dicts의 최대 값 구하기: {}".format(max(dicts.values()))) # 3
print("dicts의 최소 값 구하기: {}".format(min(dicts.values()))) # 1
 
print("dits의 최대 값을 가지는 key 구하기: {}".format(max(dicts, key=dicts.get))) #a
print("dits의 최소 값을 가지는 key 구하기: {}".format(min(dicts, key=dicts.get))) #c
# 값의 비교는 항상 value를 가지고 결과값 표출만 달라짐
  1. sum()
    인자 : iterable한 자료형을 받으며 numeric 해야한다. 즉, 리스트나 튜플 처럼 인덱스 순환 접근이 가능한 자료형이고 내부에 숫자로만 이루어져 있어야합니다. 여기서 숫자는 정수, 실수 둘다 가능

dicts = {"a":5, "b":2, "c":3} 

print(sum(dicts.values())) # 10 
  1. abs
    abs(x)는 어떤 숫자를 입력받았을 때, 그 숫자의 절댓값을 돌려주는 함수이다.
abs(-3) 3
  1. filter
    filter 함수는 첫 번째 인수로 함수 이름을, 두 번째 인수로 그 함수에 차례로 들어갈 반복 가능한 자료형을 받는다. 그리고 두 번째 인수인 반복 가능한 자료형 요소가 첫 번째 인수인 함수에 입력되었을 때 반환 값이 참인 것만 묶어서(걸러 내서) 돌려준다.
list(filter(lambda x: x > 0, [1, -3, 2, 0, -5, 6])) # [1, 2, 6]
  1. map
    map(f, iterable)은 함수(f)와 반복 가능한(iterable) 자료형을 입력으로 받는다. map은 입력받은 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 돌려주는 함수이다.
list(map(lambda a: a*2, [1, 2, 3, 4])) #[2, 4, 6, 8]
  1. pow
    pow(x, y)는 x의 y 제곱한 결괏값을 돌려주는 함수이다.
pow(2, 4) # 16
  1. zip
    zip(iterable)은 동일한 개수로 이루어진 자료형을 묶어 주는 역할을 하는 함수이다.
    ※ 여기서 사용한
    iterable은 반복 가능(iterable)한 자료형 여러 개를 입력할 수 있다는 의미이다.
list(zip([1, 2, 3], [4, 5, 6]))
#[(1, 4), (2, 5), (3, 6)]
list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9]))
#[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
list(zip("abc", "def"))
#[('a', 'd'), ('b', 'e'), ('c', 'f')]
  1. sorted()

sorted( iterable , key= lamda x : x , reverse=T/F)

d = {'blockdmask': 400, 'equal': 300, 'apple': 200, 'dish': 100, 'cook': 500}
 
print('1. 원본 딕셔너리')
print(d.items())
 
print('\n2. 딕셔너리 정렬 : sorted(d.items())')
f = sorted(d.items())
print(f)
 
 
print('\n3. 딕셔너리 정렬 : sorted(d.items(), key=lambda x: x[1])')
g = sorted(d.items(), key=lambda x: x[1]) # value 기준정렬 key=lambda x: x[1]
print(g) # 단 튜플형태로 변경
 
dicts = dict(sorted(d.items(), key=lambda x: x[1]))
print(g) # 딕션너리로 반환


print('\n4. 딕셔너리 정렬 : sorted(d.items(), key=lambda x: x[1], reverse=True)')
h = sorted(d.items(), key=lambda x: x[1], reverse=True)
print(h)

Sorted 정렬 (Key 2개)

a = [(1, -1), (1, 2), (2, 2), (3, 3), (0, 4)]

print(sorted(a , key = lambda x : (x[1] , -x[0]) ))
# [(1, -1), (2, 2), (1, 2), (3, 3), (0, 4)]
# y축으로 정렬 x축으로 내림차순 정렬

9 List

1) 리스트 더하기(+)

a = [1, 2, 3]
b = [4, 5, 6]
a + b
# [1, 2, 3, 4, 5, 6]

2)del 함수 사용해 리스트 요소 삭제하기

a = [1, 2, 3]
del a[1]
a
#[1, 3]

3)리스트 뒤집기(reverse)
reverse 함수는 리스트를 역순으로 뒤집어 준다. 이때 리스트 요소들을 순서대로 정렬한 다음 다시 역순으로 정렬하는 것이 아니라 그저 현재의 리스트를 그대로 거꾸로 뒤집는다.

a = ['a', 'c', 'b']
a.reverse()
#['b', 'c', 'a']

4) 리스트에 요소 삽입(insert)
insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수이다. 파이썬에서는 숫자를 0부터 센다는 것을 반드시 기억하자.

a = [1, 2, 3]
a.insert(0, 4)
#[4, 1, 2, 3]

5) 리스트 요소 끄집어내기(pop)
pop(x)는 리스트의 x번째 요소를 돌려주고 그 요소는 삭제한다.

>>> a = [1,2,3]
>>> a.pop(1)
2
>>> a
[1, 3]

6) 'a' in list

fruits = ['', 'banana', 'cherry']

if 'apple' in fruits:
    print('포함')
else:
    print('미포함')
##미포함

7) 위치 반환(index)
index(x) 함수는 리스트에 x 값이 있으면 x의 위치 값을 돌려준다.

>>> a = [1,2,3]
>>> a.index(3)
2
>>> a.index(1)
0
위 예에서 리스트 a에 있는 숫자 3의 위치는 a[2]이므로 2를 돌려주고, 숫자 1의 위치는 a[0]이므로 0을 돌려준다.

다음 예에서 값 0은 a 리스트에 존재하지 않기 때문에 값 오류(ValueError)가 발생한다.

10 딕셔너리

1) Key, Value 쌍 얻기(items)

>>> a.items()
dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])

2) Key로 Value얻기(get)

>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> a.get('name')
'pey'
>>> a.get('phone')
'0119993323'

3) 해당 Key가 딕셔너리 안에 있는지 조사하기(in)

>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> 'name' in a
True
>>> 'email' in a
False

4) 딕셔너리 키 삭제
del로 삭제

>>> del a['key1'] 
>>> a
{'key2': 'value2', 'key3': 'value3'}

0개의 댓글