😎 목표1만 개의 좌표를 난수로 생성해 pyplot에 표시하고 반지름 1을 가진 원 안에 있는 좌표들의 개수를 통해 원주율을 구한다. 🤔 단순하게 리스트 자료형으로 구현1. (-1 ~ 1) 범위 안에 있는 좌표와 벗어난 좌표를 리스트로 저장.import randomimport matplotlib.pyplot as pltnum_points = 10000 # 생성할 좌표의 개수inner_x, inner_y = [], []outer_x, outer_y = [], []for _ in range(0, num_points): x, y = random.uniform(-1, 1), random.uniform(-1, 1) incase = x**2 + y**2 ..
😎 목표 파일 입출력 사용 리스트 컴프리헨션을 사용해 단어의 빈도수 구하기 정규식을 사용해 단어의 빈도수 구하기 사전으로 알파벳의 빈도수 정렬하기 참고. 구텐베르크 프로젝트 에서 다양한 eBook을 다운받아서 사용할 수 있습니다. 🤔 1. txt 파일을 읽어와 문자열로 출력해보자. with open("Twenty years after.txt") as book: read_book = book.read() print(type(read_book)) # 🐧 먼저 with ~ as 구문으로 txt파일을 열람합니다. 🐧 파일을 읽는 코드는 아래와 같이 구현할 수도 있는데요. book = open("Twenty years after.txt") read_book = book.read() print(type(read_b..
😎 list comprehension이 뭔데 my_list = ["Apple", "Banana", "Orange", "Strawberry", "Grape"] # my_list에서 "n"을 포함하는 단어만 가지고 리스트를 만들려면? new_list = [] for word in my_list: if('n' in word): new_list.append(word) # 하지만 list comprehension을 적용하면? new_list = [word for word in my_list if "n" in word] 🤔 아~ 리스트 객체를 만들 때 특정 조건에 만족하는 아이템만 list comprehension으로 간결하게 넣을 수 있구나~ 🤔 작성 구조를 잘 살펴보면 경우에 따라 차이는 있지만 크게는 [wor..
😎 바다코끼리 연산자(Walrus Operator) : 파이썬 3.8에 새로 추가된 연산자. 변수에 값을 대입함과 동시에 표현식으로 사용할 수 있습니다. 그래서 대입 표현식(assignment expression) 연산자라고 부릅니다. # 기본적으로 변수에 대입하는 식은 이렇습니다. my_word = "Hello" # 🤔이 경우는 대입만 하고 이 코드에서 뽑아먹을 수 있는 "값"이 없죠! # 하지만 바다코끼리 연산자를 사용하면? (word := "Hello") # 🤔"Hello"를 대입함과 동시에 "값"을 같은 줄에서 바로 활용할 수 있습니다! (word := "Hello") == "Bye" #출력 : False # 🤔이렇게 바다코끼리를 잘 사용하면 코드를 간결하게 표현할 수 있겠죠! 😎 예제 1. wh..
😎 객체가 Iterable인 지 확인하는 방법 from collections.abc import Iterable isinstance("I am Iron man", Iterable) #출력 : True isinstance([1, 2, 3], Iterable) #출력 : True isinstance(range(1, 10, 2), Iterable) #출력 : True isinstance({"one" : 1, "two" : 2}, Iterable) #출력 : True isinstance({"one", "two"}, Iterable) #출력 : True # 🤔문자열, 리스트, 집합, 튜플, 사전, range는 모두 Iterable! 😎 객체가 int, str, list 등등... 인 지 확인하는 방법 isinst..
😎 사전 기본 용법 : 리스트나 튜플이 시퀀스로 분류가 되듯이 사전은 매핑(mapping) 자료형으로 분류됩니다. 파이썬 3.6부터는 key에 대해 순서유지가 추가되었습니다. 1. 사전 생성하기 # 비어있는 물결괄호는 집합이 아니라 사전입니다.(집합은 set()을 통해 생성) my_dict = {} my_dict = dict() # 모두 같은 내용을 담은 사전을 생성합니다. my_dict1 = {"one": 1, "two": 2, "three": 3} my_dict2 = dict({"three": 3, "one": 1, "two": 2}) my_dict3 = dict({"one": 1, "three": 3}, two=2) my_dict4 = dict(one = 1, two = 2, three = 3) #..
😎 집합의 기본 용법 : 집합(set)은 시퀀스 자료형들과 많이 다릅니다. 예를 들어 리스트 같은 경우는 아이템을 넣은 순서를 그대로 유지해주고 같은 아이템을 여러개 넣을 수 있지만 집합(set)은 순서를 유지해 주지도 않고 같은 아이템을 여러개 넣을 수도 없습니다. 1. 집합(set) 생성하기 #my_set = {} 빈 셋을 만들려고 시도하면 dict가 만들어짐 my_set = set() my_set = {100, 55, 1, 1, 1, 1, 2, 3} # 출력--------------------------------------- # {1, 2, 3, 55, 100} -> 정렬해주는 것은 아님 fruits = {'apple', 'orange', 'apple', 'pear', 'orange', 'bana..
😎 튜플의 기본 용법 1. 튜플 생성하기 my_tuple = () #빈 튜플 my_tuple = (1, 2, 3) my_tuple = ("Hello", 3.14, 123) #맨 뒤에 컴마를 넣으면 아이템이 하나만 있는 튜플을 만들 수 있다. 컴마가 없으면 튜플이 아닌 문자열이 된다. my_tuple = ("hello",) #출력 : ('hello') my_tuple = ("hello") #출력 : 'hello' # 튜플 안에 튜플을 넣을 수 있다. my_tuple = 123, 3.15, "hi" u = my_tuple, (1, 2, 3) # 튜플 안에 리스트를 넣을 수도 있다. my_list = [1, 2] my_tuple = (my_list, [3, 4, 5]) # 리스트 안에 튜플을 넣을 수도 있다...
😎 파이썬 컨테이너 이름 type 표현 가변성 순서유지 중복허용 리스트 list ["치킨", 100, 9.9] 가변 O O 튜플 tuple ("치킨", 100, 9.9) 불변 O O 집합 set {"치킨", 100, 9.9} 가변 X X 사전 dict {"치킨" : 20000, "피자 : 40000} 가변 3.6+ 키 X 값 O 😎 리스트는 가변 자료형 1. 원소의 값을 변경해도 id는 변하지 않는다. my_list = [1, 2, 3, 4, 5] print(id(my_list), my_list) my_list[0] = "하나의 아이템" print(id(my_list), my_list) # 출력 # 2134415108928 [101, 102, 103, 104, 105, 106, 107, 108, 109,..