python

[python] 파이썬 리스트 / 리스트 생성 / 리스트 요소 추가

테토 2022. 7. 11. 00:13
반응형

 

 

 

리스트는 파이썬에서 많이 사용하는 자료형 중 하나입니다.

 

여러개의 값을 동시에 가지고 있는 자료형입니다. 

 

 

 

 

리스트 생성

 

대괄호를 이용한 방법

 

 

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]

 

 

 

 

내일 리스트의 요소 삭제와 탐색, 정렬에 관련된 글을 추가로 올리겠습니다.

 

 

 

 

반응형