파이썬 & 오픈소스 개발 Tip과 강좌

이곳은 파이썬과 여러 오픈소스 기반 프레임워크 관련 Tip과 강좌 게시판 입니다. 관련 개발을 진행하면서 알아내신 Tip이나 강좌와 새로운 소식을 적어 주시면 다른 공부하는 분들에게 큰 도움이 됩니다. 감사합니다. SQLER.com은 개발자와 IT전문가의 지식 나눔을 실천하기 위해 노력하고 있습니다.

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

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

 

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

 

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

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

 

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] # 첫 두개의 항목들만 가져와 저장
# 시작 인덱스 번호와 가져올 항목들의 갯수

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

 

참고자료

개발자 커뮤니티 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 Python 무료 강좌 - 기초, 중급, 머신러닝(2021년 1월 업데이트) 코난(김대우) 2021.01.01 546
88 Python 초급 강좌 목차 - 13. 함수(Function) 코난(김대우) 2021.01.02 57
87 Python 초급 강좌 목차 - 12. 반복문(Loop): for, while 코난(김대우) 2021.01.02 53
» Python 초급 강좌 목차 - 11. 컬렉션(Collection): list, array, dictionary file 코난(김대우) 2021.01.02 74
85 Python 초급 강좌 목차 - 10. 조건문(Condition):3 복잡한 조건 처리 코난(김대우) 2021.01.01 55
84 Python 초급 강좌 목차 - 9. 조건문(Condition):2 다중 조건 처리 코난(김대우) 2021.01.01 80
83 Python 초급 강좌 목차 - 8. 조건문(Condition):1 (IF-ELSE) 코난(김대우) 2021.01.01 58
82 Python 초급 강좌 목차 - 7. 에러 핸들링(Error Handling) file 코난(김대우) 2021.01.01 68
81 Python 초급 강좌 목차 - 6. 날짜와 시간 데이터 처리 코난(김대우) 2021.01.01 67
80 Python 초급 강좌 목차 - 5. 숫자(Numeric) 데이터 처리 코난(김대우) 2021.01.01 49
79 Python 초급 강좌 목차 - 4. 문자열(String) 데이터 처리 코난(김대우) 2021.01.01 66
78 Python 초급 강좌 목차 - 3. 주석(Comments) 코난(김대우) 2021.01.01 60
77 Python 초급 강좌 목차 - 2. Print 구문 file 코난(김대우) 2021.01.01 101
76 Python 초급 강좌 목차 - 1. Python 개발 환경 구성 file 코난(김대우) 2021.01.01 252
75 Python 초급 강좌 목차 - 0. Python 소개 file 코난(김대우) 2021.01.01 206
74 오픈소스 개발도구 - vscode 설치 (WSL 설치 포함) file 코난(김대우) 2020.12.20 96
73 지금 시작하는 개발자를 위한, 무료 Python 강좌 Top 5! file 코난(김대우) 2020.12.19 84
72 installshield 와 entityframwork 우와앙 2014.03.28 10672
71 Visual Studio Video 비디오 컨퍼런스 규니규니 2013.03.08 12795
70 Visual Studio 2012 신제품 발표회.(09/25 - 롯데호텔 잠실 3층) 쓸만한게없네(윤선식) 2012.09.24 12754
69 SqlBulkCopy 성능비교 지현명 2012.09.13 19242





XE Login