2023년 6월 업데이트

 

안녕하세요. SQLER의 코난 김대우입니다. 

이번 강좌에서는, Python 초급 강좌 목차 - 11. 컬렉션(Collection): list, array, dictionary를 진행토록 하겠습니다.

 

SQLER에서 진행되는 전체 Python / 머신러닝 강좌 목록

 

코드를 실행하기 위해서는, vscode에서 새로운 파일을 만들고 실행하시면 됩니다.

예를 들어, 11_collection.py를 생성하고 코드를 실행합니다.

 

 

 

TL;DR

Python의 list, array, dictionary 소개와 차이점을 소개하고, collection과 관련된 여러 코드를 예제를 통해 살펴봅니다. 각 collection의 장단점과 적용해야 할 데이터, 차이점에 대해서도 살펴보고 앞으로 사용될 강좌와 연계되는 부분도 설명합니다.
 

 

Python 초급 강좌 목차 - 11. 컬렉션(Collection): list, array, dictionary

Python을 개발하면서 여러 컬렉션을 사용하게 됩니다. 저도 프로젝트에서 list나 dictionary는 거의 매번 사용했지만, 이게 collection이라는 범주로 묶인다는 것을 강좌를 준비하면서 처음 알았네요. 강좌에서 Tuple이나 Set은 커버하지 않는데, 저도 Tuple은 수년간 Python을 하면서 딱 한번(AzureML 데이터셋처리에서 입력 요구) 사용했을 정도로 거의 쓰이지 않았습니다.

하지만 List와 Dictionary는 거의 표준 데이터형만큼 자주 쓰이니 꼭 잘 공부해 두시길 권장해 드립니다.

 

 

컬렉션(Collections)

컬렉션은 항목들(items)의 그룹입니다. Python은 여러 유형의 컬렉션을 지원합니다. 가장 일반적인 세 가지는 dictionary, list 및 array입니다.

 

리스트(Lists) - 이하 List

List는 항목들(items)의 묶음입니다. List는 필요에 따라 확장 또는 축소할 수 있으며, 모든 데이터 유형을 포함할 수 있습니다. List는 정보의 단일 컬럼 컬렉션을 저장하는 데 일반적으로 사용되지만, Nested list(중첩 리스트)로 사용될 수도 있습니다.
 

names = ['Christopher', 'Susan']  # 리스트를 생성하면서 item을 추가
scores = []  # 빈 리스트 생성
scores.append(98)  # 리스트에 첫 번째 값 추가
scores.append(99)  # 리스트에 두 번째 값 추가
print(names)
print(scores)
print(scores[1])  # collection들은 index 번호 0부터 시작

 

 

배열(Arrays) - 이하 Array

Array는 list와 유사하지만 int 또는 float와 같은 하나의 기본 데이터형을 저장하도록 설계된 컬렉션입니다. 실제 대부분의 프로젝트에서 array가 사용될 경우는 SQLER 머신러닝 강좌에서 배우실 NumPy array를 쓰거나, pandas DataFrame을 더 자주 사용하게 될 겁니다. 

from array import array  # array를 사용하기 위해 import
scores = array('d')
scores.append(97)
scores.append(98)
print(scores)
print(scores[1])

 

Array와 List의 차이

이 두 항목은 비슷해 보이지만, 차이가 있습니다. list는 모든 타입의 item 값을 저장 가능하지만, array는 기본 타입의 item만 처리할 수 있습니다.

Slide4.JPG

 

일반적인 list 작업과 함수

기본적으로 제공되는 함수를 통해, 다양한 작업을 collection들에 대해 수행 가능합니다. 특히 list나 dict의 기본 함수는 잘 알아 두시면 이후에 유용하실 겁니다.

names = ['Susan', 'Christopher']
print(len(names)) # 항목들의 개수를 출력
names.insert(0, 'Bill') # 인덱스의 앞에 추가
print(names)
names.sort()
print(names)

 

list에서 범위 데이터 추출

list에서 특정 범위의 데이터를 가져올 수 있습니다. 

names = ['Susan', 'Christopher', 'Bill']
presenters = names[0:2] # 0번부터 2번까지 항목들을 가져와 저장
# 범위 인덱스 번호

print(names)
print(presenters)

 

딕셔너리(Dictionaries) - 이하 Dictionary

Dictionary는 여러 항목(item)의 key/value pair로 구성된 컬렉션입니다. Index나 value로만 접근 가능한 list와 달리, dictionary는 key를 사용하여 각 item을 식별합니다.

 

person = {'first': 'Christopher'}
person['last'] = 'Harrison'
print(person)
print(person['first'])

 

 

Dictionary와 list의 차이

Dictionary는 key/value를 가집니다. 저장되는 순서는, 항상 순서대로 처리되는 것을 보장하지 않습니다.

List는 index로 각 item이 저장되고 저장되는 순서의 정합성을 보장합니다.

Slide8.JPG

 

파이썬 강좌 책 구매

강좌가 도움이 되셨다면, 책으로 구매 가능합니다. 책 판매 수익금은 전액 코딩 교육 사회공헌 활동에 기부되며, 아래 링크에서 구매하시면 더 많은 금액이 기부됩니다. 

 

책구매 링크: 챗GPT와 함께하는 파이썬 & 머신러닝 코딩 마스터 

파이썬-책구매링크.png

 

참고자료

개발자 커뮤니티 SQLER.com - Python 무료 강좌 - 기초, 중급, 머신러닝

c9-python-getting-started/python-for-beginners/11 - Collections at master · CloudBreadPaPa/c9-python-getting-started (github.com)

 

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 34062
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 17177
98 Python 중급 강좌 - 4. 상속(Inheritance) 코난(김대우) 2021.01.03 283
97 Python 중급 강좌 - 3. 클래스(Class) 코난(김대우) 2021.01.03 327
96 Python 중급 강좌 - 2. 람다(Lamda) file 코난(김대우) 2021.01.03 461
95 Python 중급 강좌 - 1. Python 스타일 가이드: 서식(Formatting)과 린팅(Linting) file 코난(김대우) 2021.01.02 1030
94 Python 초급 강좌 목차 - 19. 코드에서 중요한 키(패스워드) 관리 - dotenv 코난(김대우) 2021.01.02 911
93 Python 초급 강좌 목차 - 18. 데코레이터(Decorators) 코난(김대우) 2021.01.02 284
92 Python 초급 강좌 목차 - 17. JSON 데이터 처리 file 코난(김대우) 2021.01.02 757
91 Python 초급 강좌 목차 - 16. 외부 웹서비스 API 호출 file 코난(김대우) 2021.01.02 917
90 Python 초급 강좌 목차 - 15. 패키지(Package): import, pip 코난(김대우) 2021.01.02 340
89 Python 초급 강좌 목차 - 14. 함수 파라미터(Parameter) 코난(김대우) 2021.01.02 279
88 Python 초급 강좌 목차 - 13. 함수(Function) 코난(김대우) 2021.01.02 475
87 Python 초급 강좌 목차 - 12. 반복문(Loop): for, while 코난(김대우) 2021.01.02 278
» Python 초급 강좌 목차 - 11. 컬렉션(Collection): list, array, dictionary file 코난(김대우) 2021.01.02 317
85 Python 초급 강좌 목차 - 10. 조건문(Condition):3 복잡한 조건 처리 코난(김대우) 2021.01.01 274
84 Python 초급 강좌 목차 - 9. 조건문(Condition):2 다중 조건 처리 코난(김대우) 2021.01.01 317
83 Python 초급 강좌 목차 - 8. 조건문(Condition):1 (IF-ELSE) 코난(김대우) 2021.01.01 299
82 Python 초급 강좌 목차 - 7. 에러 핸들링(Error Handling) file 코난(김대우) 2021.01.01 331
81 Python 초급 강좌 목차 - 6. 날짜와 시간 데이터 처리 코난(김대우) 2021.01.01 354
80 Python 초급 강좌 목차 - 5. 숫자(Numeric) 데이터 처리 코난(김대우) 2021.01.01 288
79 Python 초급 강좌 목차 - 4. 문자열(String) 데이터 처리 코난(김대우) 2021.01.01 371





XE Login