티스토리 뷰

study/Python

List

xoxowo 2022. 6. 10. 20:03

파이썬은 배열(array) 대신 비슷한 역할을 하는 List가 있다.

리스트는 다양한 자료형으로 구성될 수 있다.

 

 

리스트 생성

리스트를 생성하는 방법은 다음과 같이 대괄호 [ ]에 자료를 쉼표로 구분해서 입력한다.

[1,2,3,4]   # 숫자만으로 구성
["안", "녕"]  # 문자열만으로 구성 "", '' 모두 사용 가능
[1, '안녕', True] # 여러 자료형으로 구성
list1 = [ 1, '안녕', True, 234]
list2 = [[1,2,3],[4,5,6],6,[7,8]] #리스트 안에 리스트를 사용할 수 있음

 

인덱스를 사용하여 리스트 요소를 선택할 수 있으며, 음수를 넣을 수도 있다. (음수 인덱스는 -1부터 시작)

>>> list_a = [1, 42, 22, 5, 9]
>>> list_a[0]
1
>>> list_a[2]
42
>>> list_a[1:3]
[42, 22]


# 음수를 넣어 뒤에서부터 요소를 선택할 수 있음

>>> list_b = [ 273, 32, 103, '문자열', True]
>>> list_b[-1]
True
>>> list_b[-2]
'문자열'
>>> list_b[-3]
103

 

 

리스트 연산자

문자열 연산자인 ' + ' ' * '를 사용할 수 있다. (비파괴적 처리)

list_a = [1, 2]
list_b = [3, 4]

# 리스트 기본 연산자
list_a + list_b = [1, 2, 3, 4]
list_a * 2 = [1, 2, 1, 2]

# 리스트 길이 구하기
len(list_b) = 2

# 리스트 변수를 넣으면 요소의 개수를 세어줌
print("len(list_b) =", len(list_b))
-> len(list_b) = 2

 

리스트에 요소 추가

요소를 추가할 때 append(), insert() 함수를 사용하며, 한 번에 여려 요소를 추가하고 싶을 때는 extend() 함수를 사용한다. (파괴적 처리)

(insert함수는 인덱스 위치를 지정할 수 있다.)

리스트명.append(요소)
리스트명.insert(위치, 요소)
리스트명.extend(여러 요소)

list_a = [1, 2, 3]

list_a.append(4)
print(list_a)
-> [1, 2, 3, 4]

list_a.insert(0, 10)
print(list_a)
-> [10, 1, 2, 3, 4]


list_a = [1, 2, 3]
list_a.extend([7, 8])
print(list_a)
-> [1, 2, 3, 7, 8]

 

리스트에 요소 제거 

인덱스로 제거 시 키워드 del 사용하는 방법과 pop() 함수를 사용 ( pop함수의 매개 변수 미입력 시 리스트의 마지막 요소를 제거한다.)

특정 값으로 제거 시 remove() 함수를 사용

# 특정 인덱스 요소 제거
del 리스트명[인덱스] 

list_a = [0, 1, 2, 3]
del list_a[0]
[1, 2, 3]


# 제거할 위치에 있는 요소 제거 , 매개 변수 미입력 시 마지막 요소를 제거
리스트명.pop(인덱스)

list_a = [0, 1, 2, 3]

list_a.pop(2)
list_a.pop()
[0, 1, 3]
[0, 1, 2]


# 특정 값으로 제거
리스트.remove(값)

list_a = [0, 1, 2, 3]
list_a.remove(1)
[0, 2, 3]


# 모두 제거
리스트명.clear()

 

 

in / not in 연산자

특정 값이 리스트 내부에 있는지 확인하는 방법

>>> list_a = [0, 1, 2, 3]
>>> 1 in list_a
True

>>> 51 in list_a
Fales

# not in 연산자는 in 연산자와 반대로 동작

>>> list_a = [0, 1, 2, 3]
>>> 2 not in list_a
False

>>> 5 not in list_a
True
댓글