본문 바로가기
Python/Python 기초

[Python] 리스트 자료형

by snow_white 2022. 3. 12.

리스트

숫자 모음을 숫자나 문자열로 표현하기

대괄호([ ])로 감싸 주고 각 요솟값은 쉼표(,)로 구분해 준다.

 

리스트 생성하기

 

리스트명 = [요소1, 요소2, 요소3, ...]

 

 a = []
 b = [1, 2, 3]
 c = ['Life', 'is', 'too', 'short']
 d = [1, 2, 'Life', 'is']
 e = [1, 2, ['Life', 'is']]
 my_list = list('asdf')	# ['a', 's', 'd', 'f']

리스트는 a처럼 아무것도 포함하지 않아 비어 있는 리스트([ ])일 수도 있고 b처럼 숫자를 요솟값으로 가질 수도 있고 c처럼 문자열을 요솟값으로 가질 수도 있다. 또한 d처럼 숫자와 문자열을 함께 요솟값으로 가질 수도 있으며 e처럼 리스트 자체를 요솟값으로 가질 수도 있다. 즉 리스트 안에는 어떠한 자료형도 포함시킬 수 있다.

※ 비어 있는 리스트는 a = list()로 생성할 수도 있다.

 

리스트의 인덱싱

 a = [1, 2, 3]
 a[0]	# 1
 a[0] + a[2] # 4

 

 

 

리스트 수정하기

my_list1 = [2,5,3,10,4]
my_list1[2] = -3
print(my_list1) # [2, 5, -3, 10, 4]

 

리스트 추가하기

append() : 리스트 마지막에 요소 추가

insert(a, b) : 리스트의 지정한 위치에 삽입

my_list = [2,5,3,10,4]
my_list.append(100)	# [2, 5, 3, 10, 4, 100]
my_list1.insert(3,200)	# [2, 5, 3, 200, 10, 4, 100]

 

리스트 추가하기

del 객체

remove() : 삭제할 값을 인자로 넣어 직접 삭제

pop() : 가장 마지막 값 삭제, 삭제한 값을 리턴함
pop(i) : i 번째 해당한는 인덱스의 값을 삭제

my_list = [1,2,3,4,5,6]
my_list

del my_list[::2]
print(my_list)	# [2, 4, 6]

my_list = [1,4,5,4,6]
my_list.remove(4)
my_list	# [1, 5, 4, 6]

my_list = [1,4,5,4,6]
my_list.remove(7)
my_list	# 인덱스 범위 벗어남! ValueError: list.remove(x): x not in list

x = [1,2,1,3]
result = x.pop(1) # pop()은 반환값 있음
print(result)	# 2
print(x)	# [1, 1, 3]

 

리스트에서 값 추출하기 | 정렬하기 sort()

 

list.sort(reverse=False) : 역순 정렬하기, 반환값 없음

list.reverse() : 역순 출력하기, 반환값 없음

sorted(list, reverse=True) 역순 정렬, 리스트로 반환

myL = [3,2,7,1,5]
myL.sort() # 오름차순 정렬
print(myL) # [1, 2, 3, 5, 7]
myL = [3,2,7,1,5]
myL.sort(reverse=False)  # 오름차순 정렬
print(myL) # [1, 2, 3, 5, 7]
myL.sort(reverse=True)  # 내림차순 정렬
print(myL) # [7, 5, 3, 2, 1]
myL = [3,2,7,1,5]
myL.reverse() # 역순 정렬
print(myL) # [5, 1, 7, 2, 3]

# 리턴 값이 있는 정렬
myL = [3,2,7,1,5]
print(sorted(myL, reverse=True)) # [7, 5, 3, 2, 1]

 

리스트 연산 : 더하기 / 곱하기

 더하기 연산은 extend와 차이가 없다.

a = [1,2,3,4]
b = [5,6,7,8]
print(a+b) # [1, 2, 3, 4, 5, 6, 7, 8]

a = [1,2,3,4]
b = [5,6,7,8]
a.extend(b)
print(a) # [1, 2, 3, 4, 5, 6, 7, 8]

 

2차원 배열에서 데이터 추출하기

2차원은 행렬구조 Matrix

2차원을 만드는 방법은 먼저, [[]] 대괄호를 2개 사용

list2D = [[1,2,3],[2,3,4],[5,6,7]]
print(list2D) # [[1, 2, 3], [2, 3, 4], [5, 6, 7]]
print(list2D[0])# [1, 2, 3]
print(list2D[1])# [2, 3, 4]
print(list2D[2]) # [5, 6, 7]
print(list2D[0][0]) # 1
print(list2D[1][0]) # 2
print(list2D[1][2]) # 4
list3D = [[1,2,3],[2,3,4],[5,6,[7,8,9]]]
print(list3D[2][2][0]) # 7

댓글