[Syntax 4] map function & filter function
map function을 설명하기 이전에 값에 2를 곱해주는 함수를 하나 정의해보자. def even_fun(n): return n * 2 l = [1,2,3,4,5] data = [even_fun(l[0]), even_fun(l[1]), even_fun(l[2]), even_fun(l[3]),even_fun(l[4])] print(data) 우리가 모든 값들을 2배 해주기 위해서는 위 코드와 같이 상당히 길게 적어야 한다. 이러한 경우 map function을 이용하면 더 간결한 코드를 만들 수 있다. def 1 map function : map(function, iterable object . . . . .) list(map(even_fun, l)) 동일한 내용을 더 간결하게 사용할 수 있다. 한편,..
더보기
[Syntax 2] List comprehension (리스트 축약)
l = [1,2,3,4,5] [i ** 2 for i in l if i % 3 != 0] 1. 리스트 컴프리핸션 DEF : [출력 반복문 .... 반복문 조건] 리스트 컴프리핸션을 사용시 장점은 위와 같이 반복문 사용할때보다 코드가 훨씬 간결해진다. 위 코드는 3의 배수를 제외한 나머지 값들을 제곱해서 출력하는 코드이다. (아래의 코드와 비교해보라) l = [1,2,3,4,5] l2 = [] for i in l: if i % 3 != 0: l2.append(i ** 2) l2 2. 리스트 컴프리핸션의 해석 [i * j for i in range(2, 5) for j in range(2, 5)] 위의 자료는 다음과 같이 해석하면된다. 순서 1. for i in range(2,5) 순서 2. for j in..
더보기
[Syntax 1] Shallow copy & deep copy[얕은 복사 & 깊은복사]
def copy_function(option, list_data): if option == "shallow": list_data.sort() return [list_data[0], list_data[-1]] elif option == "deep": a = list(list_data) a.sort() return [a[0], a[-1]] else: print("Error") l = [77,2,364,55,3] print("deep copy : ", copy_function(option="deep", list_data = l),"\n", "copy list id :", id(copy_function(option="deep", list_data = l)), "\n", l, "\n") print("shallow..
더보기
[11654],[100809] : 백준알고리즘 - 문자열 사용하기
문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력 입력으로 주어진 글자의 아스키 코드 값을 출력한다. print(ord(input())) 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장..
더보기