* 전체 코드 ## 얕은 복사 a=[1,2,3] b=a[:] # b=a.copy()도 똑같이 동작 b.append(1) print(f"{a=}, {b=}, {id(a)=}, {id(b)=}") # 출력: a=[1, 2, 3], b=[1, 2, 3, 1], id(a)=4379693696, id(b)=4379284288 ## 얕은 복사의 한계 a=[[1,2],[3,4]] b=a.copy() # 얕은 복사 a[0][0]=100 print(f"{a=}, {b=}, {id(a)=}, {id(b)=}") # 출력: a=[[100, 2], [3, 4]], b=[[100, 2], [3, 4]], id(a)=4378411776, id(b)=4378556096 print(f"{id(a[0])=}, {id(b[0])=}")..
* 전체 코드 ## 삼항연산자 기본 a=10 print("a is big" if a > 5 else "a is small") # 출력: a is big ## 중첩 삼항연산자 a = 3 print("a is big" if a > 5 else "삼위일체" if a==3 else "a is small") # 출력: 삼위일체 ## 함수와 함께 삼항연산자 def test(p): print(f"a is {p}") a=10 test("king") if a > 5 else test("god") # 출력: a is king Contents 1. 배경 python에는 if else 조건문을 한 줄로 쓸 수 있는 삼항 연산자가 있습니다. 아래와 같은 간단한 문법으로 사용합니다. [참일 때] if [조건문] else [거짓일..
python을 사용하다 보면 문자열이나 리스트에 대해, 각 항목이 몇 개로 이루어져 있는지 구하고 싶을 때가 있습니다. 딕셔너리를 이용해 코드를 짤 수도 있지만, collections 모듈의 Counter 클래스를 사용한다면 간단하게 구할 수 있습니다. Counter 클래스는 문자열이나 리스트 등의 배열 형태를 입력으로 받습니다. 1. 문자열 Counting from collections import Counter Counter('HelloWorld') # 출력: Counter({'l': 3, 'o': 2, 'H': 1, 'e': 1, 'W': 1, 'r': 1, 'd': 1}) Counter클래스에 문자열을 주면, 출력으로 각 문자가 몇 개나 나오는지 딕셔너리 형태로 출력해줍니다. 즉, Counter ..
map 함수란? python을 사용하다 보면 map함수를 많이 사용하게 됩니다. map함수는 여러 데이터를 한 번에 일괄적으로 변화하는 기능을 합니다. 주로, 여러 데이터를 담고 있는 리스트에 사용합니다. 기초 사용법 map(함수, 리스트) 보통 위와 같은 형태로 사용합니다. 실제 예시와 함께 알아보겠습니다. 반지름 리스트가 주어졌을 때, map 함수를 이용하여, 반지름 리스트에 대응하는 원의 넓이 리스트를 생성해보겠습니다. 기초 예시) 원의 넓이 import math # math 라이브러리 불러오기 radius_li = [1,3,5,7] # 반지름 리스트 def area(r): return math.pi * (r**2) # math.pi는 원주율값을 갖습니다. list(map(area,radius_li..
collections 라이브러리의 OrdeOrderedDict 클래스를 알아보겠습니다. python에서 딕셔너리는 key와 value의 쌍으로 이루어진 자료형입니다. ([Python] 딕셔너리: 키(key) 값(value) 바꾸기(swap) 참조) 하지만, 파이썬의 일반적인 딕셔너리는 키:값 쌍이 추가되는 순서를 기억하지 않습니다. 아래의 예시를 보겠습니다. OrderedDict 이란? OrderedDict은 삽입된 순서를 기억하는 딕셔너리 자료형입니다. 딕셔너리 자료형과 대부분 동일하며, 삽입된 순서 그대로 갖는다는 특징이 있습니다. di = dict() di['a'] = 1 di['c'] = 2 di['b'] = 3 print(di) from collections import OrderedDict o..
딕셔너리(dictionary) 자료형은 key와 value가 짝을 이루어 하나의 요소가 되는 자료형입니다. 딕셔너리 내부에서 key 값은 중복되지 않는 고윳값(unique value)이어야 합니다. 만약, 기존에 있는 key에 다른 value가 들어가면, 마지막에 수정된 key:value가 딕셔너리에 저장됩니다. 이번엔 딕셔너리에서 key와 value를 바꾸는(swap) 방법을 알아보겠습니다. 예시 딕셔너리 생성 먼저, dict 함수와 zip함수를 이용해 예제로 사용할 dictionary를 생성하였습니다. 간단히 코드를 설명하자면, zip함수는 동일한 개수의 요소 값을 갖는 시퀀스 자료형을 묶어주는 역할을 합니다. 위의 예제에선 zip함수의 요소인 'abcde'와 range(5)[0~4까지 정수]를 묶어..
* 전체 코드 string = 'I became a zombie' # 한 문자씩 나누기 -> 리스트 list(string) # list() 함수 이용 string.split() # split() 함수 이용 string.split('a') # 'a'를 구분자로 쪼갭니다. # maxsplit은 최대 몇번 쪼갤지 # 처음 으로 나오는 공백 I 와 became사이를 쪼갭니다. string.split(maxsplit=1) ## 다시 합칠 수도 있음 (',').join(string.split()) # ','를 구분자로 합치기 (' ').join(string.split()) # 공백을 구분자로 합치기 -> 원래 문자열 1. 문자열을 리스트로 바꾸는 2가지 방법 1) list() 함수 이용 string = 'I bec..
자료형은 프로그래밍 언어의 핵심적인 정체성이자 기본이고, 핵심 단위입니다. python이 다른 언어에 비해서 쉽고 생산성이 높은 핵심적인 이유가 무엇일까요? 바로 자료형의 범용성 때문입니다. python 자료형의 대표적인 장점이 3가지 있습니다. 1. 자료(Data)를 쉽게 원하는 형태로 만들 수 있다. 2. 서로 다른 자료형간의 변환이 원활하다. 3. 자료형이 객체(Object)이기 때문에 메소드를 이용하여 한줄에 다양한 일들을 처리할 수 있다. 그렇다면, python의 기본적인 7가지 자료형을 알아보겠습니다. 자료형을 확인하는 함수는 type() 입니다. 1. 숫자형 1) int (정수) 정수형(integer) 자료형은 양의 정수, 음의 정수, 그리고 0을 대입할 수 있습니다. 2) float (실수..