반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 데이터분석
- matplotlib
- 런던
- 코드잇
- numpy
- 선형회귀
- 유학생
- sql연습문제
- 로지스틱회귀
- SQL
- 행렬
- 판다스
- 윈도우함수
- Seaborn
- 결정트리
- 나혼자코딩
- 영국석사
- 코드잇 TIL
- 코딩
- 코딩공부
- 다항회귀
- 코딩독학
- 경사하강법
- 머신러닝
- 코드잇TIL
- 파이썬
- HTML
- CSS
- 오늘도코드잇
- for반복문
Archives
- Today
- Total
영국 척척석사 유학생 일기장👩🏻🎓
(파이썬) 데이터 구조 유형 중 튜플(tuple)과 세트(set) 개념 쉽게 알아보기 본문
728x90
반응형
저번 글에서는 데이터 구조 유형 중 리스트에 대해 알아보았습니다.
이번 글에서는 튜플과 세트에 대해 알아보겠습니다.
🔻(참고)리스트🔻
1. 튜플(tuples)
- 튜플은 순서가 있는 변형가능하지 않는(immutable) 요소들을 담는 데이터 유형입니다.
- 튜플은 흔히 서로 관련이 있는 정보들을 저장하는데 사용됩니다.
- 예를 들어 위도와 경도가 있습니다.
location = (13.4125, 103.866667)
print("Latitude:", location[0])
print("Longitude:", locaton[1])
>>> Latitude:13.4125
Longitude:103.866667
- 튜플은 인덱스를 사용하여 액세스할 수 있는 순서가 있는 객체 컬렉션을 저장한다는 점에서 리스트와 비슷합니다.
- 하지만 리스트와 달리, 튜플은 immutable(변형가능하지 않는) 합니다.
- 즉 튜플에서 항목을 삭제 또는 추가하거나 원본 튜플을 정렬할 수 없습니다.
- 튜플은 다수의 변수들을 간단하게 할당하기 위해서도 사용할 수 있습니다.
dimensions = 52, 40, 100
length, width, height = dimensions
print("The dimensions are {} x {} x {}".format(length, width, height))
>>> The dimensions are 52 x 40 x 100.
- 튜플을 정의할 때 괄호는 선택사항이고 프로그래머들은 코드를 명확히 작성하기 위해 꼭 필요한 경우를 제외하고는 흔히 괄호를 생략합니다.
- 두 번째 줄에서 튜플 차원의 콘텐츠로부터 3개의 변수가 할당되었습니다.
- 이를 튜플 언패킹(tuple unpacking) 이라고 부릅니다.
- 튜플 언패킹을 사용하면 다수의 변수에 하나씩 액세스하고 여러 개의 할당문을 작성할 필요 없이 튜플로부터 정보를 할당할 수 있습니다.
- 위의 예시에서 직접적으로 dimensions을 사용할 필요가 없다면, 두 줄의 코드를 3개의 변수에 한 번에 할당하는 한 줄의 코드로 줄일 수 있습니다.
length, width, height = 52, 40, 100
print("The dimensions are {} x {} x {}".format(length, width, height))
2. 세트(set)
- 세트는 고유하고 변형가능한(mutable) 요소들로 된 순서가 없는 컬렉션에 사용되는 데이터 유형입니다.
- 리스트에서 중복값을 빠르게 삭제하려고 할 때 세트를 사용하면 편리합니다.
numbers = [1, 2, 6, 3, 1, 1, 6]
unique_nums = set(numbers)
print(unique_nums)
>>> {1, 2, 3, 6}
- 예를 들어, 본인이 인기 검색 엔진을 운영하고 있으며 사용자가 어디에서 검색하는지 알아보기 위해 사용자를 조사했다고 가정하겠습니다.
- 785개의 응답을 수집했고 그 응답들을 국가 목록으로 모았고, 국가 목록에 중복 항목이 있다고 해봅시다.
- 처음 몇 개의 요소를 보기 위해 목록을 세분화하면 이를 확인할 수 있습니다.
countries = ['Angola', 'Maldives', 'India', 'United States', 'India', 'Denmark', 'Sweden', 'Ghana', ... 777 more countries not displayed]
print(len(countries))
print(countres[:5])
>>> 785
['Angola', 'Maldives', 'India', 'United States', 'India']
- 여기서 중복을 제거하여 사용자가 탐색하는 모든 국가의 목록을 생성하는 것이 유용합니다.
- 그것이 파이썬에서 세트의 역할입니다.
- 세트는 특별한 순서가 없는 고유한 요소의 컨테이너입니다.
- 아래와 같이 세트를 만들 수 있습니다.
countries = ['Angola', 'Maldives', 'India', 'United States', 'India', 'Denmark', 'Sweden', 'Ghana', ... 777 more countries not displayed]
country_set = set(countries)
print(len(country_set))
>>> 196
- 세트는 중복을 제거하고 고유값 196을 출력합니다.
- 리스트와 마찬가지로 in 연산자를 지원합니다.
- 리스트와 비슷하게 add 메소드를 사용하여 세트에 요소를 추가하고 pop 메소드를 사용하여 요소를 삭제할 수 있습니다.
- 하지만 pop 을 사용하여 세트에서 요소를 삭제하면 무작위로 요소가 삭제됩니다.
- 세트는 리스트와 달리 순서가 없기 때문에 마지막 요소가 없기 때문입니다.
# 세트 정의하기
fruit = {"apple", "banana", "orange", "grapefruit"}
# 요소 확인하기
print("watermelon" in fruit)
>>> False
# 요소 추가하기
fruit.add("watermelon")
print(fruit)
>>> {'grapefruit', 'orange', 'watermelon', 'banana', 'apple'}
# 랜덤으로 제거하기
print(fruit.pop())
>>> grapefruit
print(fruit)
>>> {'orange', 'watermelon', 'banana', 'apple'}
- 세트를 이용하여 수행할 수 있는 다른 연산에는 수학 집합 연산이 있습니다.
- union, intersection, difference 같은 메소드로 쉽게 집합 연산을 할 수 있고 다른 컨테이너 연산자들보다 훨씬 빠릅니다.
728x90
반응형
'코딩공부 > Python' 카테고리의 다른 글
(파이썬) 조건문 if, elif, else 문 (0) | 2024.06.07 |
---|---|
(파이썬) 딕셔너리(dictionary)와 동일성 연산자 is, is not, get 메소드 복합 데이터 구조 알아보기 (0) | 2024.06.05 |
(파이썬) 데이터 구조의 유형 중 가장 많이 쓰이는 리스트(list) 알아보기 (1) | 2024.06.05 |
(파이썬) 파이썬 스타일 가이드 (PEP 8) (0) | 2023.05.10 |
(파이썬) Syntactic Sugar (0) | 2023.05.10 |