반응형
리스트는 파이썬에서 많이 사용하는 자료형 중 하나입니다.
여러개의 값을 동시에 가지고 있는 자료형입니다.
리스트 생성
대괄호를 이용한 방법
list1 = [] # 빈 리스트 생성
print(list1)
list2 = [10, 30, 50] # 정수 값이 들어간 리스트 생성
print(list2)
list3 = [[10,20,30], [12,32,4], 1] # 리스트의 값이 리스트가 될 수 있음
print(list3)
## 결과 ##
[]
[10, 30, 50]
[[10, 20, 30], [12, 32, 4], 1]
list()를 이용한 방법
list1 = list() #빈 리스트 생성
print(list1)
list2 = list("string") #한 글자씩 저장됨
print(list2)
list3 = list(range(10)) # range 함수 이용, 0 ~ 9 까지 저장
print(list3)
## 결과 ##
[]
['s', 't', 'r', 'i', 'n', 'g']
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
리스트 인덱스 값으로 추출하기
list2 = [10, 30, 50] #순서대로 0~2의 인덱스를 가짐
print(list2) # list2의 전체 출력
print(list2[0]) # list2의 0번 인덱스 값 출력
print(list2[2]) # list2의 2번 인덱스 값 출력
## 결과 ##
[10, 30, 50]
10
50
리스트 안에 있는 리스트 추출하기
리스트의 인덱스는 0부터 순서대로 인덱스가 매겨진다.
list3 = [[10,20,30], [12,32,4], 1]
print(list3[0][0]) # list3의 0번 인덱스의 0번 인덱스 값 출력
print(list3[0][1])
print(list3[1][2])
##결과##
10
20
4
반응형
리스트 슬라이싱
list4 = ['happy', 'sad', 1, 'angry', 4] # 5개의 요소로 이루어진 리스트 생성
print(list4)
print(list4[0:]) # list4의 0부터 끝까지 출력, print(list4)와 같음
print(list4[1:3]) # list4의 1부터 3까지 출력
print(lit4[-1:]) # -1은 맨 뒤의 값, -2는 맨 뒤에서 2번째의 값
##결과##
['happy', 'sad', 1, 'angry', 4]
['happy', 'sad', 1, 'angry', 4]
['sad', 1]
[4]
리스트 요소 수정
list9=list(range(10)) # 0~9 값을 가지는 리스트 생성
print(list9)
list9[0] = 50 # list9의 0번 인덱스 값 변경
print(list9)
list9[1:4]=[10,20,30,40] # list9의 1:4 인덱스 슬라이싱으로 값 변경
print(list9)
list9[5]=[50,60] # list5의 5번 인덱스 값 변경
print(list9)
## 결과 ##
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[50, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[50, 10, 20, 30, 40, 4, 5, 6, 7, 8, 9]
[50, 10, 20, 30, 40, [50, 60], 5, 6, 7, 8, 9]
리스트 복사
list6 = [1,2,3]
list7 = list6 # 방법 1
print(list7)
list8 = list6.copy() # 방법 2
print(list8)
list9 = list6 + [] #방법 3
print(list9)
## 결과 ##
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
** 방법 1의 주의사항
list7 = list6의 경우 새로운 리스트가 생성되는 것이 아니라 list6에 list7이라는 이름이 추가되는 개념이다.
따라서 list6을 변경할 시 list7도 함께 변경된다.
list6[1] = 100
print(list6)
print(list7)
print(list8)
print(list9)
## 결과 ##
[1, 100, 3]
[1, 100, 3]
[1, 2, 3]
[1, 2, 3]
리스트 요소 추가
현재 리스트의 크기를 벗어나는 인덱스 사용시 에러가 나기 때문에 요소를 추가하기 위해서는 대입연산자가 아닌 다른 방법을 사용한다.
list10 = list(range(10)) # 리스트 생성
print(list10)
list10.append(10) # 리스트에 마지막에 요소 추가
print(list10)
list10.insert(3, 100) # insert(인덱스, 요소), 인덱스 위치에 요소 추가
print(list10)
list11 = [5,6,7]
list10.extend(list11) # list10 마지막에 list11 추가
print(list10)
list12 = list11 + list10 # list11과 list10을 합친 새로운 리스트 생성
print(list12)
## 결과 ##
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[0, 1, 2, 100, 3, 4, 5, 6, 7, 8, 9, 10]
[0, 1, 2, 100, 3, 4, 5, 6, 7, 8, 9, 10, 5, 6, 7]
[5, 6, 7, 0, 1, 2, 100, 3, 4, 5, 6, 7, 8, 9, 10, 5, 6, 7]
내일 리스트의 요소 삭제와 탐색, 정렬에 관련된 글을 추가로 올리겠습니다.
반응형
'python' 카테고리의 다른 글
[python] 파이썬 딕셔너리란? / 딕셔너리 생성 / 수정 / 삭제 (0) | 2022.08.01 |
---|---|
[python] 리스트에서 랜덤 라이브러리 활용 (0) | 2022.07.12 |
[python] 파이썬 함수 / 함수의 매개변수 / 리턴문 (0) | 2022.07.11 |
[python] 파이썬 리스트 요소 삭제 / 리스트 탐색 / 리스트 정렬 (0) | 2022.07.11 |