4강. 자료형(리스트)

1.리스트 소개

리스트는 집합과 비슷하지만 데이터에 순서가 부여된다는 차이점이 있다.

alist = [0,1,2,3]

꼭 숫자만 담을 수 있는 것은 아니고, 문자열을 담을 수도 있고, 리스트 자체도 리스트에 담길 수 있다.

blist = [1,2,"python", [8,9,"haha"]]

비어 있는 리스트도 만들 수 있다. 빈 리스트는 코딩에서 정말 자주 활용된다.

clist = []
dlist = list()

2.리스트 컴프리헨션(list comprehension)

파이썬에 익숙해지면 리스트를 만들 때 리스트 컴프리헨션을 많이 이용하게 된다. 일단 초급과정 때는 굳이 이 방법을 쓰지 않아도 좋다.

예를 들어 [0,1,2,3,4]라는 리스트를 만들기 위해 아래와 같이 직접 리스트에 요소를 담아도 되지만

alist = [0,1,2,3,4]

집합의 조건제시법처럼 아래와 같이 만들 수도 있어 편리하다. 이 방법을 리스트 컴프리헨션이라 한다.

# 0이상 5미만의 정수 k를 담은 리스트
blist = [k for k in range(0,5)]

3.list()

리스트는 파이썬 코딩에서 정말 많이 다루는 자료형이라서, 다른 타입의 데이터를 리스트로 바꾸어야 할 때가 종종 있다. 그 때는 주어진 객체를 list()함수로 감싸주면 타입이 리스트로 바뀐다.

a_tup = ('a', 'b', 'c')
a_list = list(a_tup)

b_str = 'school'
b_list = list(b_str)

print(a_list)
print(b_list)
[‘a’, ‘b’, ‘c’]
[‘s’,‘c’,‘h’,‘o’,‘o’,‘l’]

4.리스트 추출(리스트 슬라이싱)

문자열과 마찬가지로 리스트는 오프셋으로 요소를 추출할 수 있다. 이 기능은 밥 먹듯이 쓰인다. 형식은 아래와 같다.

list[begin : end : step]

step을 생략하고 아래와 같이 쓸 때가 더 많다. 이러면 step의 디폴트값은 1이다.

list[begin:end]

alist = [k for k in range(1,31)]  #1부터 30까지 정수 리스트
print('10미만 정수:', alist[0:9])
print('15이상 25미만 정수:', alist[14:25])
print('짝수:', alist[1:30:2])
10미만 정수: [1, 2, 3, 4, 5, 6, 7, 8, 9]
15이상 25미만 정수: [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
짝수 : [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]

문자열과 마찬가지로 오프셋이 음수이면 끝에서 거꾸로 값을 추출한다는 뜻이다.

fruits = [‘apple’, ‘mango’, ‘grape’, ‘banana’]
print(fruits[-1])
print(fruits[-2])
banana
grape

5.리스트 요소 바꾸기

문자열은 한 번 만들어지면 결코 수정이 불가능했다. 반면 리스트는 이와 같이 오프셋을 통해 요소 변경이 가능하다.

guests = ['cha','kim','park','hwang']
guests[1] = 'lee' #2번째 요소를 lee로 바꾸어 할당하라 
print(guests)
[‘cha’, ‘lee’, ‘park’,’hwang’]

6.리스트 요소 삭제하기

리스트에서 요소를 삭제하는 방법은 3가지가 있는데 여기서는 간단히 하나만 소개하겠다.

students = ['moon', 'kim', 'hong' , 'baek']
students.remove('baek')

print(students)
[‘moon’, ‘kim’, ‘hong’]

7.리스트에 요소 추가하기

리스트에 요소를 추가하는 append() 함수는 정말 많이 쓰이는 기능이다.

students = ['moon', 'kim', 'hong' , 'baek']
students.append('cha')

print(students)
[‘moon’, ‘kim’, ‘hong’, ‘baek’, ‘cha’]

이 함수가 자주 쓰이는 이유는, 코딩에서 어떤 주어진 조건을 만족하는 값들을 차곡차곡 리스트에 담을 일이 많기 때문이다. 아래는 여러 프로그래밍 코드에서 찾아볼 수 있는, append()함수가 쓰이는 부분이다.


코멘트

“4강. 자료형(리스트)”에 대한 댓글 1개

  1. […] 4강. 자료형(리스트) […]

댓글 남기기

Cha's Record에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기