CyStory
close
프로필 배경
프로필 로고

CyStory

  • 분류 전체보기 (62)
    • trending (7)
      • Theory (5)
      • Issue (2)
    • tech stacks (35)
      • HTML (0)
      • CSS (9)
      • JS (3)
      • React (10)
      • Git (3)
      • Vue.js (0)
      • Python (9)
      • Back-End (1)
    • cheryea (20)
      • Library (6)
      • Personal (1)
      • pptx (1)
  • mode_edit_outline글작성
  • settings환경설정
  • 개발자
  • 깃허브
  • 유튜브
  • 티스토리

[python] generator를 사용해야 하는 이유

제너레이터(generator)란? 언제, 왜 쓰는가?Python에서 데이터를 다룰 때, 흔히 쓰는 자료형은 리스트, 튜플, 세트, 딕셔너리 등이 있습니다.그런데 수천, 수만, 수억 개의 데이터를 한꺼번에 메모리에 올리기 어렵거나 비효율적일 때가 있습니다.이럴 때 **제너레이터(generator)**가 등장합니다.1️⃣ 제너레이터가 필요한 이유모든 값을 미리 메모리에 올리지 않고, 필요할 때마다 하나씩 생성메모리 효율적 → 대규모 데이터 처리, 파일 처리, 무한 시퀀스 등반복문과 함께 쓰기 좋음 → for문 안에서 자연스럽게 사용 가능예시 상황로그 파일 10GB를 한 줄씩 처리무한 수열 생성 (0, 1, 2, 3, …)메모리가 제한된 환경에서 데이터 처리2️⃣ 메모리 효율 비교: 리스트 vs 제너레이터리스..

  • format_list_bulleted tech stacks/Python
  • · 2026. 1. 21.
  • textsms

[python] deque를 사용하는 이유

문제N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다.이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다.예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, 4를 밑으로 옮기면 24가 된다. 마지막으로 2를 버리고 나면, 버린 카드들은 순서대로 1 3 2가 되고, 남는 카드는 4가 된다.N이 주어졌을 때, 버린 카..

  • format_list_bulleted tech stacks/Python
  • · 2026. 1. 12.
  • textsms

[python] .get() 을 사용하는 이유

# 상품 리스트를 카테고리별로 분류하여 딕셔너리를 만드세요.products = [ {"category": "전자제품", "name": "키보드"}, {"category": "의류", "name": "티셔츠"}, {"category": "전자제품", "name": "마우스"}, {"category": "전자제품", "name": "노트북"}, {"category": "식품", "name": "사과"}, {"category": "식품", "name": "배"}, {"category": "의류", "name": "청바지"}]grouped_data = {}print(f"그룹화 결과: {grouped_data}") 각 카테고리 별로 분류하기 위해서는 이런식의 형태가 될 것 이..

  • format_list_bulleted tech stacks/Python
  • · 2026. 1. 9.
  • textsms

[python] 리스트에 값 추가 += / append() / extend() 차이점

+= / append() / extend() 차이 한 번에 정리파이썬에서 리스트에 값을 추가할 때append(), extend(), += 중 무엇을 써야 할지 헷갈리는 경우가 많다.겉보기엔 비슷하지만 동작 방식은 완전히 다르다.1️⃣ append() — 요소 하나를 추가a = [1, 2]a.append(3)print(a)# [1, 2, 3]리스트의 마지막에 요소 1개를 추가한다.리스트를 append 하면?a = [1, 2]a.append([3, 4])print(a)# [1, 2, [3, 4]]👉 리스트 자체가 하나의 요소로 들어간다.2️⃣ extend() — 반복 가능한 객체를 풀어서 추가 a = [1, 2]a.extend([3, 4])print(a)# [1, 2, 3, 4]리스트, 튜플, 문자열 등 ..

  • format_list_bulleted tech stacks/Python
  • · 2026. 1. 8.
  • textsms

[python] 자료형 - 리스트(list), 튜플(tuple), 세트(set), 딕셔너리(dict)

자료형 종류자료형표기법순서수정중복활용 포인트리스트(list)[1, 2, 3, 4]OOO순서가 중요하고 값 변경 가능할 때튜플(tuple)(1, 2, 3, 4)OXO값이 변하지 않아야 할 때, 함수 반환값세트(set){1, 2, 3, 4}XOX중복 제거, 집합 연산딕셔너리(dict){”key” : “value”, “이름” : “홍길동”}OO키 X / 값 O키-값으로 연관된 데이터 관리, 빠른 조회 리스트(list)대괄호 [] 안에 요소들을 콤마(,) 로 구분해 넣습니다.numbers = [1, 2, 3, 4, 5]words = ['apple', 'banana', 'cherry']mixed = [1, 'hello', True, [10, 20]]순서가 있음 (Ordered) → 인덱스로 접근 가능수정 가능 (..

  • format_list_bulleted tech stacks/Python
  • · 2025. 12. 31.
  • textsms

[python] for문과 items(), range(), enumerate(), zip(), 컴프리헨션

for 문test_list = ['one', 'two', 'three']for i in test_list: print(i) # one# two# three반복 가능한 자료형의 요소를 하나씩 변수에 대입하며 반복 수행함.if, continue, break, 중첩 for문 모두 가능하다.for 변수 in 반복_가능_객체:**수행할_문장1** **수행할_문장2**a = [(1,2), (3,4), (5,6)]for (x, y) in a: print(x + y) # 3# 7# 11리스트, 튜플, 문자열 등을 반복 가능 객체로 사용 가능하다. 주의할점. for문에서 임시변수를 아무리 바꿔도 원본 객체의 값은 변하지 않는다.numbers = [10, 20, 30]for n in numbers:..

  • format_list_bulleted tech stacks/Python
  • · 2025. 11. 10.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
공지사항
  • CyStory에 오신 것을 환영합니다!
전체 카테고리
  • 분류 전체보기 (62)
    • trending (7)
      • Theory (5)
      • Issue (2)
    • tech stacks (35)
      • HTML (0)
      • CSS (9)
      • JS (3)
      • React (10)
      • Git (3)
      • Vue.js (0)
      • Python (9)
      • Back-End (1)
    • cheryea (20)
      • Library (6)
      • Personal (1)
      • pptx (1)
인기 글
최근 글
최근 댓글
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바