Programming Languages/Python(34)
-
collections 모듈의 특수 컬렉션
collections 모듈의 특수 컬렉션파이썬의 collections 모듈은 기본 자료구조를 확장한 특수 컨테이너 자료형을 제공합니다. 자주 사용되는 몇 가지를 살펴보겠습니다.Counter: 요소 개수 세기Counter는 해시 가능한 객체의 개수를 세는 딕셔너리 하위 클래스입니다. 요소를 키로, 개수를 값으로 저장합니다.from collections import Counter# 문자열의 문자 개수 세기text = "mississippi"char_count = Counter(text)print(char_count) # Counter({'i': 4, 's': 4, 'p': 2, 'm': 1})# 단어 빈도 세기words = ["apple", "orange", "banana", "apple", "orange..
2025.03.26 -
집합 (Sets)
집합 (Sets)집합은 순서가 없고, 중복된 요소를 포함하지 않는 컬렉션입니다. 집합은 수학적 집합 연산(합집합, 교집합, 차집합 등)을 지원합니다. 중괄호 {}를 사용하여 표현하지만, 빈 집합은 set()으로 생성해야 합니다.집합 생성하기# 빈 집합 생성 (주의: {}는 빈 딕셔너리를 생성)empty_set = set()print(type(empty_set)) # # 값이 있는 집합 생성fruits = {"apple", "banana", "cherry", "apple"} # 중복된 "apple"은 한 번만 저장됨print(fruits) # {'banana', 'cherry', 'apple'} (순서는 보장되지 않음)# 다른 시퀀스로부터 집합 생성numbers = set([1, 2, 3, 2, 1]..
2025.03.26 -
딕셔너리 (Dictionaries)
딕셔너리 (Dictionaries)딕셔너리는 키(key)와 값(value)의 쌍으로 이루어진 자료구조입니다. 각 키는 유일해야 하며, 이를 통해 값을 빠르게 검색할 수 있습니다. 중괄호 {}를 사용하여 표현합니다.딕셔너리 생성하기# 빈 딕셔너리 생성empty_dict = {}empty_dict2 = dict()# 값이 있는 딕셔너리 생성student = { "name": "김철수", "age": 20, "major": "컴퓨터공학", "gpa": 3.8}# dict() 생성자로 딕셔너리 생성person = dict(name="이영희", age=25, job="개발자")# 리스트의 튜플 쌍으로 딕셔너리 생성items = [("apple", 3), ("banana", 5), ("oran..
2025.03.26 -
시퀀스 타입의 공통 연산
시퀀스 타입의 공통 연산리스트와 튜플은 모두 시퀀스 타입이므로 다음과 같은 공통 연산을 지원합니다.# 문자열도 시퀀스 타입list_ex = [1, 2, 3]tuple_ex = (4, 5, 6)string_ex = "hello"# 연결 (concatenation)print(list_ex + [4, 5]) # [1, 2, 3, 4, 5]print(tuple_ex + (7, 8)) # (4, 5, 6, 7, 8)print(string_ex + " world") # "hello world"# 반복 (multiplication)print(list_ex * 3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]print(tuple_ex * 2) # (4, 5, 6, 4, 5, 6)print(s..
2025.03.25 -
튜플 (Tuples)
튜플 (Tuples)튜플은 리스트와 유사하지만, 한 번 생성하면 변경할 수 없는(immutable) 자료구조입니다. 소괄호 () 안에 쉼표로 구분된 항목들을 나열하여 만듭니다.튜플 생성하기# 빈 튜플 생성empty_tuple = ()empty_tuple2 = tuple()# 값이 있는 튜플 생성numbers = (1, 2, 3, 4, 5)fruits = ("사과", "바나나", "체리")mixed = (1, "Hello", 3.14, True)# 단일 항목 튜플은 쉼표가 필요single_item = (42,) # 콤마 필수!not_tuple = (42) # 이건 튜플이 아닌 정수print(type(single_item)) # print(type(not_tuple)) # # 소괄호 없이도 튜플 ..
2025.03.25 -
파이썬의 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)
파이썬의 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)파이썬에서 객체를 복사할 때 이해해야 할 중요한 개념이 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)입니다. 이 두 가지 복사 방식의 차이를 이해하지 못하면 예상치 못한 버그가 발생할 수 있습니다. 1. 객체와 참조의 기본 개념파이썬에서 변수는 실제 데이터를 직접 저장하지 않고, 데이터가 저장된 메모리 위치를 가리키는 참조(reference)를 저장합니다. 이를 이해하기 위한 간단한 예를 살펴보겠습니다.a = [1, 2, 3] # 리스트 생성b = a # b는 a와 같은 리스트를 가리킴# b를 통해 리스트를 수정하면 a도 영향을 받음b[0] = 99print(a) # [99, 2, 3]pr..
2025.03.25