Python Basic Syntax - list(1)
공지
제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.
본 포스트에서는 짧게 list를 만드는 법과, 값을 추가하는 것에 대해 작성합니다.
I. list 개요
list는 순서는 순서가 있는 집합이며, []
형태를 가집니다. list는 (integer, float, string, etc)
등으로 구성되는데, 서로 다른 데이터 값이 들어올 수도 있다. 아래 코드를 보자.
# empty list
my_list = []
# 숫자형 list
num_list = [1, 2, 3]
# 문자형 list
chr_list = ['A', 'B', 'C']
리스트는 또다른 리스트를 포함할 수 도 있다. 이것을 A nested list
라고 부른다.
nested_list = ['mouse', [1, 2, 3], ['가']]
II. list 접근
우선 크게 2가지 방법이 있다.
(1) list index
리스트가 []
으로 구성되어 있는 것은 배웠다. 리스트에 안에 있는 것은 item
이라고 부른다.
우선 아래코드로 리스트 인덱싱을 확인해보자.
# list indexing
index_list = ['p', 'r', 'o', 'b', 'e']
# output: p
print(index_list[0])
p
# output: e
print(index_list[4])
e
이번에는 nested list
인덱싱 하는 방법을 알아보자.
n_list = ['Good', [2, 0, 1, 5]]
print(n_list)
['Good', [2, 0, 1, 5]]
# 먼저 `Good`을 출력한다.
print(n_list[0])
# 0을 출력한다.
print(n_list[1][1])
Good
0
- 주의:
Indexing
을 할 때에는integer
타입만 올 수 있다.
print(n_list[1][1.0])
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-13-a1de7f8766bd> in <module>()
----> 1 print(n_list[1][1.0])
TypeError: list indices must be integers or slices, not float
(2) Negative Indexing
이번에는 음수를 통해서 인덱싱을 해본다.
# list indexing
index_list = ['p', 'r', 'o', 'b', 'e']
print(index_list[-1]) # output: e
print(index_list[-2]) # output: b
e
b
list
위 이미지대로 index
와 negative index
에 따라 접근 방법이 달라지니 참고하기를 바란다.
III. list에 값 추가하기
이번에는 간단하게 값을 추가하는 것을 배우도록 합니다. 값을 추가하는 방법은 크게 2가지가 있습니다. (append
& extend
)
(1) append
item
을 하나씩 추가할 때는 append
를 사용합니다.
temp = [2, 4, 6]
# 8을 추가합니다.
temp.append(8)
print(temp)
[2, 4, 6, 8]
(2) extend
[2,4,6,8]을 담고 있는 temp
에 10, 12, 14
을 추가하도록 합니다.
temp.extend([10, 12, 14])
print(temp)
[2, 4, 6, 8, 10, 12, 14]
특정 변수를 만들어서 대입하면 보다 프로그래밍한 코드를 짤 수 있고, 실무에서는 이렇게 변수를 대입하는 것이 일반적입니다.
add_temp = [16, 18, 20, 22]
temp.extend(add_temp)
print(temp)
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22]
만약, extend
대신에 append
함수를 쓰면 어떻게 될까요?
temp = [2, 4, 6]
add_temp = [16, 18, 20, 22]
temp.append(add_temp)
print(temp)
[2, 4, 6, [16, 18, 20, 22]]
nested list
형태로 반환되는 것을 볼 수 있습니다.
(3) 연산자 활용한 값 추가하기
연산자를 활용하여 두개의 다른 리스트를 합칠 수가 있습니다. 이러한 것을 concatenation
(연결 연산자)이라고 부릅니다.
# Concatenating and repeating lists
# + 연산자
temp = [1, 3, 5]
print(temp + [9, 7, 5])
# * 연산자
print(["repeat"] * 5)
[1, 3, 5, 9, 7, 5]
['repeat', 'repeat', 'repeat', 'repeat', 'repeat']
(4) insert()을 활용한 값 추가
insert()
함수를 사용하면 list[]
특정 위치에 값을 넣을 수 있다. [1, 5]
사이에 [3]
을 추가해보자.
insert(index, object)
순으로 작성하면 된다.
즉, object
에 해당하는 3이 들어가는 위치는 두번째이고, 파이썬 문법으로 [1]
이 되니, insert(1, 3)
을 입력한다.
temp = [1, 5]
temp.insert(1, 3)
print(temp)
[1, 3, 5]
IV. 그 외 list
와 관련된 함수
지금까지 배운 함수는 append
, extend
, insert
정도가 되는 것 같습니다.
그러나 이 외에도 remove
, pop
, clear
, index
, count
, sort
, reverse
, copy
등의 함수가 있습니다.
다음 시간에는 슬라이스와 삭제하는 방법에 대해 다루도록 한다.