파이썬의 기초인 자료형은 내용이 많습니다.
단순하고 지루할 수도 있지만 가장 중요한 기초이기에
반복하면서 익숙해지면 좋겠습니다.
지금까지 배운 숫자형과 문자열 자료형은
여러 가지 목록의 자료를 입력하기엔 불편합니다.
예를 들면, A 기업의 6개월간의 매출을 분석하려면
숫자형으로는 표현하는 데 한계가 있습니다.
실제 파이썬에서 자료형으로 많이 쓰이는
'리스트 / 튜플 / 딕셔너리 / 집합' 4가지 중
첫 번째로 리스트(List)를 알아보겠습니다.
실제로 리스트를 가장 많이 사용합니다!
이번 장에서는
인덱싱과 슬라이싱을 많이 사용하게 될 텐데요~
까먹으셨다면 링크를 통해 복습하세요!
파이썬 자료형의 종류
1. 숫자형
2. 문자열 자료형
3. 리스트 자료형 ◀(이번 장에서 배울 내용)
4. 튜플 자료형
5. 딕셔너리 자료형
6. 집합 자료형
7. 불 자료형
리스트 자료형을 시작하면서부터
이해가 어려웠던 이유는
일반적으로 사용하는 OA(엑셀 등) 프로그램에서는
볼 수 없는 형태이기 때문입니다.
리스트 / 튜플 / 딕셔너리 / 집합
위 4가지 자료 형태는 파이썬에서
주로 사용하는 자료구조란 것만 이해하시고
실습을 하면서 익히시는 것을 추천드립니다.
파이썬에서 주로 사용되는 헷갈리는 자료형을
간단하게 비교하였습니다.
각 자료형을 모두 공부하신 후에 아래 표를
보시면 이해하는 데 도움이 되실 겁니다~
파이썬 자료형 비교(리스트 List / 튜플 Tuple / 딕셔너리 Dic / 집합 Set)
■ 리스트 (List)
□ 여러 자료들을 목록 형태로 관리하는 자료구조
(순서가 있음, 수정할 수 있음)
리스트명 = [요소1, 요소2, 요소3, ... ]
리스트(List)의 여러 가지 사용방법입니다.
a = [] #값이 없는 리스트
print(a)
b = [1,2,3] #숫자가 입력된 리스트
print(b)
c = ["To", "do", "List"] #문자가 입력된 리스트
print(c)
d = ["To", "do", "List", 10, 20] #문자+숫자 같이 입력된 리스트
print(d)
e = [1,2,['P',3]] #리스트 안에 입력된 리스트
print(e)
##### result #####
[]
[1, 2, 3]
['To', 'do', 'List']
['To', 'do', 'List', 10, 20]
[1, 2, ['P', 3]]
인덱싱과 슬라이싱은 리스트(List)에서도 사용됩니다.
그리고 리스트에서도 동일하게 0부터 순서를 셉니다.
1) 숫자가 입력된 리스트를 인덱싱하기
odd = [1,3,5,7,9]
print(odd) #odd란 변수의 리스트 요소 모두 출력
print(odd[1]) #odd란 변수의 리스트 요소 중 순서가 1인 '3' 을 출력
##### result #####
[1, 3, 5, 7, 9]
3
2) 리스트를 인덱싱/슬라이싱하기
c=['life','is','too','short.']
print(c)
print(c[1]) #인덱싱 사용하여 1순서 출력
print(c[0:4]) #슬라이싱 사용하여 0순서부터 3순서 까지 출력
##### result #####
['life', 'is', 'too', 'short.']
is
['life', 'is', 'too', 'short.']
list =[1,2,3,4]
print(list[-1]) #맨 끝 순서부터 -1로 시작
print(list[0:3]) #0번째 부터 3번째 까지 출력(단, 3번째는 생략)
print(list[1:]) #1번째부터 끝까지 출력
print(list[:3]) #처음부터 3번째 까지 출력(단, 3번째는 생략)
print(list) #list 라는 변수 전체 출력
##### result #####
4
[1, 2, 3]
[2, 3, 4]
[1, 2, 3]
[1, 2, 3, 4]
3) 리스트 내에 있는 리스트 출력하기
g=['life','is']
f=[1,2,g]
print(f[2][0]) #'f'의 2번째는 'g'의 0번째 요소 출력
##### result #####
life
g=['List','is']
k=['Lee','ST']
f=[1,k,g]
print(f[1][1])
print(f[1][0]+k[1])
print(f[-2][1])
print(f[2][0])
##### result #####
ST
LeeST
ST
List
4) 3중 리스트 출력 및 요소 수정하기
l=[1,2,['a','b',['123','python']]]
print(l[2]) #'l' 리스트 값의 2번째 요소
print(l[2][2][1]) #'l' 리스트 값의 2번째에 2번째에 1번째 요소 출력
l[2][2][0]='777' #리스트는 값 변경이 가능하다.
print(l)
l1= [1,2,3]
l1[1]=['a','b','c'] #l1이라는 리스트 값의 1순서 요소 수정
print(l1)
##### result #####
['a', 'b', ['123', 'python']]
python
[1, 2, ['a', 'b', ['777', 'python']]]
[1, ['a', 'b', 'c'], 3]
5) 리스트 연산하기
l1= [1,2,3] #리스트 연산 (반복하기 * )
print(l1*3)
c = l1+[4] #리스트 연산 (더하기 + )
print(c)
##### result #####
[1, 2, 3, 1, 2, 3, 1, 2, 3]
[1, 2, 3, 4]
6) 리스트 값 변경하기
l2 = [1,2,3,4,5]
print(l2)
print(l2[1:4])
l2[1:4] = [6,7,8] # ⑴슬라이싱으로 값을 변경 할 수 있음
print(l2)
l2[1:2] = [6,7,8] # ⑵크기가 다르면 값 추가 됨
print(l2)
l2[1] = [6,7,8] # ⑶인덱싱으로 값을 변경하면 리스트 자체가 추가됨
print(l2)
l2[1]=2 # ⑷인덱싱으로 값만 변경하려면 대괄호 빼고 추가
print(l2)
##### result #####
[1, 2, 3, 4, 5]
[2, 3, 4]
[1, 6, 7, 8, 5] # ⑴
[1, 6, 7, 8, 7, 8, 5] # ⑵
[1, [6, 7, 8], 7, 8, 7, 8, 5] # ⑶
[1, 2, 7, 8, 7, 8, 5] # ⑷
■ 리스트 관련 함수
□ 리스트이름 . 함수명령어( )
6장에서 배운 자료형 관련 함수와 사용법이 동일합니다.
문자열 함수와 리스트 함수의 각 사용법을 익혀봅시다.
1) 리스트에 요소 추가(append)
리스트.append(추가할 값)
list1 = [1,2,3]
list1.append(4) #추가하는 값은 해당 리스트의 맨 마지막에 입력됨
print(list1)
##### result #####
[1, 2, 3, 4]
2) 리스트 정렬(sort)
리스트. sort()
#리스트 내에 입력된 요소들을 순서대로 정렬
#숫자, 문자(영어,한글) 모두 가능
list2 = [4,2,1,3,5]
list2.sort()
print(list2)
list2.sort(reverse=True) #반대로 정렬
print(list2)
list3 = ['b','d','a','c']
list3.sort()
print(list3)
list4 = ['나','다','가']
list4.sort()
print(list4)
##### result #####
[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
['a', 'b', 'c', 'd']
['가', '나', '다']
3) 리스트 뒤집기(reverse)
리스트.reverse()
list3 = [4,2,1,3,5]
list3.reverse() #입력된 요소 순서 그대로 거꾸로 뒤집는다.
print(list3) #sort와 함께 사용하면 오름차순/내림차순이 가능.
list4 = ['b','d','a','c']
list4.reverse()
print(list4)
##### result #####
[5, 3, 1, 2, 4]
['c', 'a', 'd', 'b']
4) 위치 반환(index)
리스트.index()
list4 = [4,2,1,3,5] #list4 에서 1 의 위치를 호출
print(list4.index(1))
list5 = ['b','d','a','c'] #list5 에서 b 의 위치를 호출
print(list5.index('b'))
##### result #####
2 #→ list4[2]
0 #→ list5[0]
5) 리스트에 요소 삽입(insert)
리스트.insert(삽입 할 요소)
list5 = [1,2,3]
list5.insert(1,'a') #list5의 두번째에 'a'를 추가
print(list5)
list6 = ['a','b','c']
list6.insert(3,'d') #list6의 세번째에 'd'를 추가
print(list6)
##### result #####
[1, 'a', 2, 3]
['a', 'b', 'c', 'd']
6) 리스트 요소 제거(remove)
리스트.remove(삭제 할 요소)
list6 = ['a','b','c','a']
list6.remove('a') #리스트에서 첫번째로 나오는 'a'를 삭제.
print(list6) #두번째로 나오는 'a'는 안지워 짐.
##### result #####
['b', 'c', 'a']
7) 리스트 요소 끄집어내기(pop)
리스트. pop()
list7 = [1,2,3,4]
print(list7.pop()) #리스트의 마지막 요소를 반환
print(list7) #pop 함수를 수행하면 마지막 요소 반환 후 삭제시킨다.
##### result #####
4
[1, 2, 3]
8) 리스트에 포함된 요소 x의 개수 세기(count)
리스트.count( 개수 셀 값)
list8 = ['a','b','c','a']
print(list8.count('a'))
print(list8.count('b'))
##### result #####
2
1
9) 리스트 확장(extend)
리스트.extend(추가 할 리스트)
list9 = [1,2,3]
list9.extend([4,5]) #확장 요소로는 리스트 형태만 올 수 있다.
print(list9)
육칠 = [6,7]
list9.extend(육칠) #리스트 형태로 된 변수는 가능.
print(list9)
##### result #####
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6, 7]
'Python 기초 배우기 > 비전공자도 배우는 파이썬 기초' 카테고리의 다른 글
09. 파이썬 사전(딕셔너리 Dictionary) 자료형 (0) | 2021.01.27 |
---|---|
08. 파이썬 튜플(Tuple) 자료형 (2) | 2021.01.26 |
06. 파이썬 문자열 자료형 관련 함수 (0) | 2021.01.06 |
05. 파이썬 포맷팅(format), 문자 치환하기 (%d,%s,{0}) (0) | 2020.12.11 |
04. 파이썬 인덱싱(Indexing), 슬라이싱(Slicing) (0) | 2020.12.10 |