Python 95

파이썬 (25) 리스트 스플릿

이번에는 리스트를 스플릿, 즉 쪼개어 작은 크기의 새로운 리스트로 만들고만들어진 새로운 리스트들을 다시 리스트에 저장하여 반환하는 예제를 구현해본다예를 들어 다음과 같다x = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] 위와 같은 배열이 존재하고, 인자로 3을 넣어주면 위와 같이 반환되고, 인자로 5를 넣어주면 위와 같은 형태로 반환되도록 한다 1) enumerate를 사용한 시퀀스 자료구조의 인덱스 / 값 접근def makeListInList(target, num): ret = [] for idx, va..

파이썬 (24) 병렬 처리

이번에는 여러 개의 리스트의 요소를 하나의 딕셔너리로 변환하는 여러 방법에 대해 알아본다예제는 다음과 같다a = ["one", "two", "three", "four"]b = [30, 20, 15, 75]c = [5.2, 7.4, 3.6, 4.2] a 리스트의 데이터들을 key로,b 리스트와 c 리스트의 데이터들을 곱한 값을 value로 하는 딕셔너리를 완성해야 한다{'one': 156.0, 'two': 148.0, 'three': 54.0, 'four': 315.0} 최종 결과는 위와 같이 출력되야 한다 1) enumerate 메서드를 통한 리스트의 인덱스 접근def makeDict(list1, list2, list3): dic = {} for idx, val in enumerate(list..

파이썬 (23) 알파벳 쓰기

이번에는 A~Z까지의 대문자 알파벳이 공백으로 분리되어 기록된 txt파일을 생성해보도록 한다코드는 다음과 같이 구성하였다 1) chr 메서드의 사용def makeFile(): with open("ret.txt", 'w') as f: for i in range(65, 91): data = f"{chr(i)} " f.write(data)makeFile() 위와 같이 코드를 구성하였다ret 텍스트 파일을 하나 생성하고, 해당 파일을 쓰기 모드로 작성한다range 함수를 통해 65부터 90까지의 정수를 순회하면서chr 함수로 아스키 코드를 사용하여 순회중인 정수에 해당하는 문자를 생성한다 최종 실행 결과는 다음과 같다 2) string 라이브러리 활용..

파이썬 (22) 문자열 파싱2

이번 포스트에서도 파이썬을 사용한 문자열 파싱을 수행한다다만 이전과 다른점은 ,(쉼표)도 포함하여 파싱해야 한다 예시를 들면, 다음과 같은데"Have a nice,and happy day"라는 문장에서 총 6개의 단어를 반환해야 한다 파싱 대상으로 삼을 문자열은 다음과 같다text = '''The adjective "deep" in deep learning refers to the use of multiple layers in the network. Early work showed that a linear perceptron cannot be a universal classifier,but that a network with a nonpolynomial activation function with one..

파이썬 (21) 문자열 파싱1

파이썬에서 문자열을 파싱하는 여러가지 방법이 존재한다이번에는 문자열의 split 메서드를 통해 문자열을 파싱하도록 한다 - split 메서드split 메서드는 문자열에서 호출하여 사용할 수 있으며 다음의 형식을 갖고 있다 문자열.split("파싱하는 기준", 파싱 횟수) 파싱하는 기준의 인자를 설정하여 해당 기준으로 문자열을 쪼갤 수 있다파싱 횟수를 설정하면 파싱 횟수까지만 문자열을 쪼개고, 그 이후의 문자열은 쪼개지 않는다 최종적으로 split 메서드를 통해 문자열을 파싱하면 파싱된 문자들이 리스트에 담겨져 반환된다 - 예제문자열에서 공백을 기준으로 문장을 나눠서 문장의 총 개수를 반환하는 예제이다예를 들어, 다음과 같은 문자열이 있다고 가정한다면"Marry had a little lamb" 공백을 기..

파이썬 (20) 지역 변수와 전역 변수

예제를 통해 지역 변수와 전역 변수의 동작 방식을 확실하게 집고 넘어가도록 한다예제는 다음과 같다def test(x, y): global a a = 49 x,y = y,x b = 53 b = 7 c = 135 print('Step1 : ', a, b, x, y)a, b, x, y = 8, 13, 33, 44test(23, 7)print('Step2 : ', a, b, x, y) 위의 소스코드를 실행한 후, Step1과 Step2에서의 출력 결과를 예측하면 된다 - 예제 풀이변수 a / b / x / y는 전역 변수로 각각 8 / 13 / 33 / 44로 초기화되었다그리고 변수 a는 함수 test에서 유일하게 global로 선언되었으므로 최종적으로a를 제외한 다른 모든..

파이썬 (19) 지역 변수

파이썬에서 함수 안에서 전역 변수를 사용하여 수행 결과를 실제 변수에 반영하기 위해서는global 키워드를 사용해야 한다는 것을 이전 포스트에서 확인할 수 있다이번에는 전역 변수와 지역 변수를 사용한 간단한 예제를 통해 이들의 관계를 알아보도록 한다 1) 예제# 아래 코드의 결과를 예측하라a = 100def test(): global a print(a) a = 55 return aprint(a) print(test()) print(a) 위 코드를 실행했을때의 예측 결과는 다음과 같다전역변수 a의 값 : 100 출력함수 test 실행 : 우선 전역변수 a의 값 100이 출력 -> 이후 a를 55로 설정하므로 a의 값 55가 출력전역변수 a의 값 : 55 출력최종 실행 결..

파이썬 (18) 전역 변수

파이썬에서 변수는 지역 변수와 전역 변수로 나눠서 사용이 가능하다지역 변수 : 함수의 블록 안에서 정의되어 함수의 범위 안에서만 사용이 가능한 변수전역 변수 : 함수의 블록 밖에서 정의되어 함수의 범위 안뿐만 아니라 전체 범위에서 사용이 가능한 변수함수에서 전역 변수를 사용하는 것은 매우 간단하지만,함수의 처리 결과를 실제 전역 변수에 반영하고 싶다면 파이썬에서는 global 키워드를 사용한다 1) 전역 변수 사용예제x = 100def test1(): return x * 10 print(test1())print(x) 실행 결과는 다음과 같다 실행 결과에서 알 수 있듯이, 함수에서는 전역변수를 사용하여 값을 반환하였지만실제 전역 변수의 값에는 영향을 주지 못하는 것을 확인할 수 있다 2) 전역 ..

파이썬 (17) 함수 인자

파이썬에서는 함수를 사용하는 경우 인자간의 순서가 매우 중요하다인자의 순서들은 다음과 같이 나타낼 수 있다위에 있을수록 우선 사용이 가능한 인자를 의미한다일반 인자 기본값이 지정된 인자 -> 예시) a = "Kim"길이가 있는 인자 : * 연산자를 사용하여 인자를 튜플 형태로 사용 -> 예시) , *args키워드 인자 : non-default 키워드 인자와 default 키워드 인자로 구분한다길이가 있는 키워드 인자 : ** 연산자를 사용하여 인자를 딕셔너리 형태로 사용 -> 예시) , **kargs위의 순서대로 사용할 수 있다 1) 함수 인자간의 순서 예제def greet(msg="Good Morinig!", name): return "Hi! " + name + ', ' + msg 위의 함수는 일반 ..

파이썬 (16) - 시그마 계산

수학에서의 계산방식 중 하나인 Sigma를 계산하는 사용자 정의 함수를 만들어본다Sigma에 관한 정보는 다음의 링크로 대체한다https://ko.wikipedia.org/wiki/%EA%B8%89%EC%88%98_(%EC%88%98%ED%95%99) 급수 (수학) - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 수학에서 급수(級數, 영어: series, ∑an)는 수열의 모든 항을 더한 것, 즉 수열의 합이다. 항의 개수가 유한한 유한급수(有限級數, 영어: finite series)와 항의 개수가ko.wikipedia.org 1) 첫 번째 방식 - for문을 사용def sigma1(num): ret = 0 for i in range(num+1): ret = r..