=========================================================
# 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를 가지고 결과값 표출만 달라짐
dicts = {"a":5, "b":2, "c":3}
print(sum(dicts.values())) # 10
abs(-3) 3
list(filter(lambda x: x > 0, [1, -3, 2, 0, -5, 6])) # [1, 2, 6]
list(map(lambda a: a*2, [1, 2, 3, 4])) #[2, 4, 6, 8]
pow(2, 4) # 16
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')]
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축으로 내림차순 정렬
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)가 발생한다.
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'}