강의 홍보

I. 개요
- 이번 시간부터 본격적으로 파이썬의 기초 자료형에 대해 간단한 튜토리얼을 준비했다.
- 데이터 분석과는 큰 관계가 없을 수 있지만, 데이터 정제 할 때, 도움이 되기도 한다.
- 그 중에서 면접의 단골질문과 같은
Lists & Tuple에 대해 나누는 시간을 가졌다.
II. Lists
alphabet = ['A', 'B', 'C', 'D']
print(alphabet)
['A', 'B', 'C', 'D']
- 코드는 간단하다. 그러나 함의하고 있는 내용은 다음과 같다.
List는 정렬(ordered)되었다.List는 다양한 형태의 데이터 유형을 담을 수 있다.List안에 있는 값은 인덱스로 접근한다.List안에 또다른 List를 담을 수 있다.List는 변하기 쉽다.List는 동적이다.
(1) List는 정렬(ordered)되었다.
a1 = [1, 2, 3, 4]
a2 = [2, 3, 4, 1]
a1 == a2
False
False
[1, 2, 3, 4] == [2, 3, 4, 1]
False
- 일련의 코드는
a1과 a2가 같지 않다는 것을 프로그래밍적으로 증명한 것이다.- 좀 더 쉽게 표현하면
List안에 있는 값은 순서가 있다는 뜻이다.
(2) List는 다양한 형태의 데이터 유형을 담을 수 있다.
List의 편리성이기도 하지만, 분석시에는 데이터프레임으로 변환할 때 큰 애로사항이 되기도 한다.- 우선, 코드로 확인해보자.
multi_values = [11.1, 'foo', 3, 5, 'bar', True, False, 3.1245]
print(multi_values)
[11.1, 'foo', 3, 5, 'bar', True, False, 3.1245]
- 또한,
List는 다양한 함수, class, 심지어는 모듈도 담을 수 있다.
float
<function len>
<function __main__.temp>
<module 'math' (built-in)>
multi_objects = [float, len, temp, math]
multi_objects
[float, <function len>, <function __main__.temp>, <module 'math' (built-in)>]
(3) List안에 있는 값은 인덱스로 접근한다.
- 다음 그림이 인덱스로 접근하는 기본적인 방법이다.
- 참고로 또다른 분석 언어인
R은 0이 아닌 1부터 시작한다.

- 소스코드로 빠르게 확인해보자.
temp = ["A", "B", "C", "D", "E"]
'A'
'B'
'E'
- 그런데,
Negative List 형태로도 접근할 수 있다.-1, -2와 같은 형태로 접근하는 것이다.

- 코드를 통해 확인해보자.
'E'
'B'
'A'
- 슬라이싱을 활용한 인덱스 접근법도 있다.
- temp[m:n] 형태로
From M to N으로 접근한다.
- 코드를 통해서 확인해보자.
['A', 'B', 'C', 'D', 'E']
['C', 'D']
['A', 'B', 'C', 'D']
['A', 'B', 'C', 'D', 'E']
- 이 외에도, 슬라이싱 기법을 활용한 다양한 접근법이 있다. 스택오버플로우의 문서를 확인해보면 보다 더 많은 정보를 얻을 수 있다.
(4) List안에 또다른 List를 담을 수 있다.
List안에 다양한 객체가 들어가 있음을 확인했다.- 그런데,
List안에 또 다른 List가 들어갈 수도 있다.
