Python 95

파이썬 (15) - 딕셔너리 반복문 활용

딕셔너리를 활용한 반복문 예제를 수행해본다예제는 다음과 같다Key : one / Value : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]Key : two / Value : [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]Key : three / Value : [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]위와 같이 구성된 딕셔너리에서각 Key와 Value, 그리고 Value의 총 개수를 출력하는 코드를 작성한다 1) items 메서드 사용# 딕셔너리 선언d = dict(one = list(range(1, 11)), two = list(range(11, 23)), three = list(range(23..

파이썬 (14) - 유용한 출력 함수 pprint

파이썬에 존재하는 출력 함수 중에서 pprint에 대해 알아보도록 한다pprint는 Python에서 데이터 구조를 보기 쉽게 출력하기 위해 사용한다사용할 수 있는 옵션은 다음과 같다depth - 중첩 데이터indent - 들여쓰기width - 줄 길이 조정sort_dicts - 키 정렬stream - 파일에 출력간단한 예제를 통해 pprint 함수와 print 함수의 차이를 알아본다from urllib import requestimport jsonresponse = request.urlopen("https://jsonplaceholder.typicode.com/users")response_json = response.read()d = json.loads(response_json)# 일반적인 출력문prin..

파이썬 (13) - Dictionary 데이터 필터링

이번에는 딕셔너리에서 조건에 맞는 데이터를 필터링하는 방법에 대해 알아본다예제는 다음과 같다d = {'a' : 8, 'b' : 33, 'c' : 15, 'd' : 26, 'e' : 12, 'f' : 120} 위와 같은 딕셔너리에서 Value가 25이상인 데이터만 필터링하여 딕셔너리의 형태로 Key와 Value를 출력한다 1) keys() 메서드와 items() 메서드d1 = {}for i in d.keys(): if d[i] > 25: d1[i] = d[i]print(d1)# 두 번째 방법d2 = {}for k, v in d.items(): if v >= 25: d2[k] = vprint(d2) 딕셔너리에 존재하는 key들을 리턴하는 keys() 메서드와 key + va..

파이썬 (12) - Dictionary 아이템 추가

딕셔너리에 데이터를 추가하는 방법을 알아본다예제는 다음과 같다 d = {'a' : 'apple', 'b' : 'banana'} 위와 같은 딕셔너리에 'c' / 'd'의 Key를 추가하고각각의 Key에 'carrot' / 'durian'의 Value를 추가한다 1) 첫 번째 방법 - 딕셔너리의 새로운 인덱스를 선언 + 정의d['c'] = 'carrot'd['d'] = 'durian'print(d) 위와 같이 새로운 인덱스를 선언하여 Key와 Value를 생성할 수 있다실행 결과는 다음과 같다 2) 두 번째 방법 - update 메서드를 사용d.update({'c' : 'carrot', 'd' : 'durian'})print(d) 딕셔너리에서 사용가능한 update 메서드를 사용하여 딕셔너리에 데이터를 새롭..

파이썬 (11) - Dictionary 합 구하기(Dictionary Items Sum)

파이썬의 자료구조 중 하나인 Dictionary에 대해 알아보도록 한다 1) Dictionary란?Dictionary는 Key와 Value의 대응관계를 갖는 자료구조이다해시테이블 기반으로 동작하여 매우 빠르고 또한 저장한 데이터를 변형할 수 있는 가변적 특성도 갖고 있다 Dictionary를 생성하는 방법은 2가지가 있는데,명시적인 방법과 묵시적인 방법을 통해 생성이 가능하다명시적인 방법 : dict({key : value, ...})묵시적인 방법 : {key : value, ...} key와 value를 사용하기에 데이터의 형식 중 하나인 json과 비슷하다고 생각할 수 있지만,json과는 다르게 형식이 매우 자유롭다는 특징을 갖고 있다튜플을 사용하여 시퀀스형 페어의 딕셔너리를 만들수 있고 : {(1,..

파이썬 (10) - 중복 제거(Remove Duplication)

이번에는 중복을 제거하는 방법에 대해 알아보고 관련 예제를 통해 이를 적용해본다예제는 다음과 같다 위와 같은 리스트에서 중복되는 데이터가 없는 리스트를 리턴하는 것이 목표이다위를 구현하는 방법은 다음과 같다 1) set을 사용set은 집합 자료형이지만, tuple이나 list와는 다르게집합된 데이터들에 대해 중복을 허용하지 않고 또, 데이터들간의 순서가 존재하지 않는다따라서 위와 같은 예제에서 사용이 가능하다 ex1 = set(ex)print(list(ex1)) 실행 결과는 다음과 같다 중복되는 데이터는 없어졌지만, 순서가 다르게 변경된 것을 확인할 수 있다 2) OrderedDictOrderedDict는 중복을 없애주면서 기존의 순서를 유지하는데 사용할 수 있다사용하기 위해서는 collections 모..

파이썬 (9) - Range & Map & Lambda

이번에는 시퀀스 타입 자료구조에 대한 간단한 예제를 해결해본다예제는 다음과 같다 - 1부터 15까지의 수에 10을 곱한 결과를 문자열로 출력하라위의 예제에 대한 다음의 코드를 작성하였다 1) range + map + lambdaex = list(map(lambda x: str(x * 10), range(1, 16)))print(ex) map을 통해 인자로 넣어준 시퀀스 자료구조를 순회하면서 람다식을 사용한다결과는 다음과 같다  2) 리스트 컴프리헨션ex2 = [str(n * 10) for n in range(1, 16)]print(ex2) 리스트의 내부에서 [로직 + 순회] 의 구조로 코드가 동작하게 된다결과는 다음과 같다

파이썬 (8) - Range 함수 활용 (2)

이번에도 마찬가지로 시퀀스 타입 자료구조에 대해 배워본다특히 Range 함수의 경우 여러 방면에서 사용이 가능한데 다음의 예제로 어떻게 사용하는지 알아본다 - 예제1부터 20까지의 수의 범위에서홀수의 값은 10을 곱하고, 짝수의 값은 그대로 하여 리스트의 형태로 출력하라 - 해결방법1) for문과 if문 사용ex1 = []for i in range(1, 21): if i % 2 != 0: ex1.append(i * 10) else: ex1.append(i)print(ex1) for문과 if문을 사용하여 조건을 판별하여 작업을 수행하게 된다실행 결과는 다음과 같다  2) 리스트 컴프리헨션이전에 List의 안에서 조건문을 사용할 수 있었던 리스트 컴프리헨션을 사용하였다이번에도 마찬가지로 리스트 컴프리헨션..

파이썬 (7) - Range 함수 활용 (1)

파이썬의 시퀀스 타입 자료구조를 리턴하는 함수 중 Range 함수가 있다Range 함수의 사용법과 예제를 통해 이를 사용하는 방법을 알아본다 1) Range 함수란?range 함수는 다음과 같은 구성으로 사용할 수 있다 range(시작, 끝, 수치) range 함수는 시작부터 시작하여 끝의 바로 전 단계까지의 숫자형 데이터를 시퀀스 타입으로 리턴한다수치는 시작부터 끝의 바로 전 단계까지 순차적으로 적용할 값을 의미한다 2) 예제간단하게 30부터 -10까지의 리스트를 range를 통해 만들어서 리턴해본다코드는 다음과 같다print(list(range(30, -12, -2))) 최종 실행 결과는 다음과 같다

파이썬 (6) - 시퀀스 타입 조회(Sequence Item Selection)

자료들이 저장되는 자료구조 중에서 자료들이 순차적으로 저장되는 구조를 시퀀스 타입 자료구조라고 한다이번에는 시퀀스 타입 자료 구조를 순회(=조회)하는 방법을 알아보도록 한다 하나의 리스트가 있다x = ["grapes", "mango", "orange", "peach", "apple", "lime", "banana", "cherry", "tomato", "kiwi", "blueberry", "watermelon"] 해당 자료구조에서 apple과 kiwi를 반한하되 대문자로 반환하는 경우 어떻게 코드를 구성할 수 있을까? 1) for문을 통한 순회ex1 = []for i in x: if i == "apple" or i == "kiwi": ex1.append(i.upper())print(ex..