파이썬 기초(3) : 데이터 구조 / 리스트
리스트(list)
서로 관계가 있는 데이터를 효율적으로 다룰 수 있다.
대괄호([ ]) 안에 콤마(,)로 구분된 데이터를 써 넣어서 만들 수 있고, 인덱스로 다룬다.
리스트는 파이썬에서 가장 많이 쓰이는 데이터 구조 타입이다. 배열이랑 비슷함!
우측의 티스토리 폰트 선택 창처럼 데이터를 관리한다고 보면 된다.
꼭 한 가지의 데이터타입만 들어갈 필요는 없다.
인덱스처럼 슬라이싱도 가능하다.
단, 문자열을 슬라이싱하는것과는 다르게 list[n:m]일 경우
n, n+1, n+2,... m까지 m-n+1개의 값을 출력하는 점이 다르다. 유의!
font = ['기본서체','본고딕R','본고딕L','나눔고딕','본명조','궁서']
print(font) # ['기본서체', '본고딕R', '본고딕L', '나눔고딕', '본명조', '궁서']
print(font[1]) # 본고딕R
print(font[-1]) # 궁서
print(font[1:2]) # ['본고딕R', '본고딕L']
항목 추가하기
깜빡하고 넣지 않은 항목이 있다면, ${변수명}.append('항목') 으로 추가도 가능하다.
추가된 항목은 리스트의 맨 끝에 들어가게 되고, 한 번에 하나씩만 추가가 가능하다.
또한, ${변수명}.insert(index, '항목')으로 위치를 지정하여 추가할 수도 있다.
항목 삭제하기
${변수명}.remove('항목') 으로 삭제가 가능하다.
del ${변수명}[index] 처럼 인덱스로 위치를 지정하여 삭제도 가능하다!
font = ['기본서체','본고딕R','본고딕L','나눔고딕','본명조','궁서']
font.append('돋움') # ['기본서체', '본고딕R', '본고딕L', '나눔고딕', '본명조', '궁서', '돋움']
font.remove('궁서') # ['기본서체', '본고딕R', '본고딕L', '나눔고딕', '본명조', '돋움']
del font[1] # ['기본서체', '본고딕L', '나눔고딕', '본명조', '돋움']
font.insert(1,'굴림') # ['기본서체', '굴림', '본고딕L', '나눔고딕', '본명조', '돋움']
* 처음부터 값을 넣지 않고, 빈 리스트로 지정한 후 append로 하나씩 추가하는 것이 일반적이다.
이처럼 빈 리스트 변수를 지정할 때는 ${변수명} = list() 처럼 리스트 함수를 사용해 준다.
항목 수정하기
${변수명}[index] = '수정할 데이터' 를 이용하여 인덱스에 맞는 항목을 수정할 수 있다.
font[2] = '본고딕L_rev'
# ['기본서체', '굴림', '본고딕L_rev', '나눔고딕', '본명조']
리스트 데이터 정렬하기
.sort()함수를 이용하여 리스트 변수 내의 항목들을 정렬할 수 있다.
기본적으로는 오름차순으로 정렬하지만, .reverse() 를 이용하면 역순으로 정렬할 수도 있다.
font.sort() #['굴림', '기본서체', '나눔고딕', '본고딕L_rev', '본명조']
font.reverse() # ['본명조', '본고딕L_rev', '나눔고딕', '기본서체', '굴림']
nums = [0,1,34,5,2,13,16]
nums.sort() # [0, 1, 2, 5, 13, 16, 34]
nums.reverse() # [34, 16, 13, 5, 2, 1, 0]
리스트 데이터 분리하기
split() 함수를 사용해 주면 스페이스바(' ')를 기준으로 분리해서
sort()의 경우 본래의 값의 형태를 정렬한 형태로 아예 해당 변수 값이 바뀌지만,
split()은 본래 변수의 내용을 바꾸지 않는다! 해당 값을 다른 변수명에 넣어줄 수는 있다.
rte = "relax, take it easy"
rte.split() # ['relax,', 'take', 'it', 'easy']
print(rte) # relax, take it easy
${변수명}.split("문구") 를 써 주면, 특정 문구를 기준으로 문자열을 끊을 수 있다.
아래와 같이 활용도 가능하다.
a = input("주민등록번호는?") # 123456-1234567 입력
print(a.split("-")) # ['123456', '1234567'] 출력
print(a.split("-")[1]) # 1234567 출력
print(a.split("-")[1][0]) # 1 출력
참고!
리스트 데이터의 수는 len함수를 활용하면 셀 수 있다.
'기초 > Python' 카테고리의 다른 글
파이썬 기초(4) : 조건문 (0) | 2021.12.20 |
---|---|
파이썬 기초(2) : 문자열 다루기, 출력 포맷 (0) | 2021.12.19 |
파이썬 기초(1) : 데이터 타입과 변수, 출력 (0) | 2021.12.15 |