본문 바로가기
728x90

Study (Data Science)121

Unit 29. 함수의 return 참고 | 매개변수는 없고 반환값만 있는 함수 함수를 만들 때 매개변수는 없지만 값만 반환하는 함수를 만들 수도 있습니다. 다음은 매개변수 없이 1만 반환합니다. >>> def one(): ... return 1 ... >>> x = one() >>> x 1 참고 | return으로 함수 중간에서 빠져나오기 return은 값을 반환하는 기능뿐만 아니라 함수 중간에서 바로 빠져나오는 기능도 있습니다. 다음은 매개변수 a가 10이면 함수를 그냥 빠져나옵니다. >>> def not_ten(a): ... if a == 10: ... return ... print(a, '입니다.', sep='') ... >>> not_ten(5) 5입니다. >>> not_ten(10) >>> not_ten 함수에 5를 넣으면 pr.. 2022. 11. 29.
참고) zip( ) 함수 zip 여러개의 iterable 객체 (like. list, tuple, dic..) 을 객체로 받으면서, 각 객체가 담고 있는 원소를 차례로 접근할 수 있는 능력자 iterator. 원래는 이렇게 for문을 두 리스트에 돌리겠지만, >>> numbers = [1, 2, 3] >>> letters = ["A", "B", "C"] >>> for i in range(3): ... pair = (numbers[i], letters[i]) ... print(pair) ... (1, 'A') (2, 'B') (3, 'C') zip을 사용하면, >>> for i in range(3): ... pair = (numbers[i], letters[i]) 이렇게 두 줄이 >>> for pair in zip(numbers,.. 2022. 11. 29.
Unit30. *args / **kwargs (가변인자; Variadic Parameters) 인자 Argument에는 두 종류가 있다. 그리고 항상 함수를 실행시키는 인자를 줄 때에는, positional은 필수조건이므로 무조건 줘야 하고, 앞에 줘야하고, keyword는 필수가 아니므로 안주면 생략가능하고, positional갯수를 채운 뒤에 줘야한다. Positional arguments : 정해지는 인자 ; first, second Keyword arguments : 키워드로 잡는 인자 ; third, fourth 코드로 보면, def save_ranking(first, second, third=None, fourth=None): .... save_ranking('Alice', 'Bella', 'Mike', fourth = 'Daniel') 이렇게 될 때, Positinal 두개 다 채워서.. 2022. 11. 29.
참고) map + lambda lambda (원래모습 : 바뀐모습) print( (lambda x,y: x + y)(10, 20) ) 인자까지 한꺼번에 줄 수있음 map (def명, 넣을것) 순회가능한 데이터를 저 함수에 넣어 ouput을 도출하겠다. 는 뜻. map(변환 함수, 순회 가능한 데이터) map은 꼭 list로 변환해줘야 값을 볼 수 있음. def list_mul(x): return x * 2 result = list(map(list_mul, [1, 2, 3])) print(result) lambda + map map이 lambda 식 자체를 인수로 가짐. i 를 i*2로 바꿀꺼고 (lambda), [1,2,3]을 i로 돌릴꺼야 (map) result = list(map(lambda i: i * 2 , [1, 2, 3]).. 2022. 11. 29.
참고) iterable, iterator 차이점 iterable : 순환 가능한. 그냥 가능하다는 능력치. 나는 수학을 잘한다. 이런거. iterator : 순환가능자. 그 능력치를 컨트롤하는자. 수학선생님. 선생님은 수학을 당연히 잘한다. iterator는 당연히 iterable 하다. 지도 편달하는 코드가 들어간다. 학생이 수학을 잘해도 지도편달은 어려울 수 있따. iterable하다고 iterator는 아니다. 참고 : https://velog.io/@clueless_coder/%ED%8C%8C%EC%9D%B4%EC%8D%AC-iterable%EA%B3%BC-iterator-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EA%B0%80-%EB%AD%90%EC%98%88%EC%9A%94 [파이썬] iterable과 iterator 의 차이가 .. 2022. 11. 29.
참고) 최댓값, 최솟값 (함수에서 return 잘 활용하는법) list_data = [30, 20, 30, 40] def minmax_function(x_list): # 1번 함수에 최솟값, 최댓값 함수를 품는다. def inner_min_function(x): # 1-1 최솟값 length = len(x) min_result = x[0] for i in range(length): if min_result > x[i]: min_result = x[i] return min_result # "인덱스별" 최솟값 리턴받음. 계속 갱신하게되고 제일 마지막값남음. def inner_max_function(x): # 1-2 최댓값 length = len(x) max_result = x[0] for i in range(length): if max_result < x[i]: max.. 2022. 11. 29.
참고) Enumerate/Yield/Generator/Try/Accept/Multiprocessing Enumerate for문에서 인덱스도 같이 출력할 때. for i, value in enumerate(리스트명) my_list = ['a','b','c','d'] for i, value in enumerate(my_list): print("순번 : ", i, " , 값 : ", value) Generator, yield yield를 쓰면 generator로 연결된다. generator는 lazy iterator. 반복문을 출력할 때에도 주르륵 출력하는 것이 아니라, 하나 출력하고 쉬고, 하나 출력하고 쉬고. 데이터가 많을 때 메모리 사용이 효율적이어서 자주 사용하는 파이썬의 기능. 참고 사이트 : https://www.daleseo.com/python-yield/ 파이썬의 yield 키워드와 제너레이터.. 2022. 11. 29.
프로그래머스) 배열의 평균값, 중복된 숫자갯수, 피자나눠먹기 내 답안 평균구하는거,, 예전에 엄청 힘들게 했던거 같은데 잘풀려서 너무 좋다.. import math를 해와서, 올림은 .ceil() 버림은 .floor() 반올림은.round() 2022. 11. 28.
프로그래머스) 머쓱이네 양꼬치 답안 잘 실행되는데,, 프로그래머스에서 안넘어간다. 여튼 머쓱이는 이렇게 양꼬치를 먹었네. 2022. 11. 28.
Unit 26. 세트(set) Set : 집합 합집합, 교집합, 차집합등의 연산을 가능케 하는 집합으로 {값1,값2,값3} 이런식ㅇ로 이루어져 있음. 출력을 할 때에는 randomly하게 출력하기 때문에, index를 지정하여 출력이 불가하고, 집합안에 중복된 것은 알아서 하나만 출력. 딕셔너리와 형태 주의하여 쓰기 >>> c = {} # 이렇게 빈 중괄호를 치면, 빈 딕셔너리가 됨. >>> type(c) >>> c = set() # 꼭 이렇게 set()이라고 지정해야 세트가됨. >>> type(c) set.union(세트1, 세트2) : 합집합 {1,2,3,4,5,6} 논리연산자 and와 같은 원리 set.intersection(세트1,세트2) : 교집합 {3,4} set.difference(세트1, 세트2) : 대칭차집합 {1,2.. 2022. 11. 28.
728x90