본문 바로가기

Python 기초 배우기/비전공자도 배우는 파이썬 기초

07. 파이썬 리스트(List) 자료형

파이썬의 기초인 자료형은 내용이 많습니다.

단순하고 지루할 수도 있지만 가장 중요한 기초이기에

반복하면서 익숙해지면 좋겠습니다.

지금까지 배운 숫자형 문자열 자료형

여러 가지 목록의 자료를 입력하기엔 불편합니다.

예를 들면, A 기업의 6개월간의 매출을 분석하려면

숫자형으로는 표현하는 데 한계가 있습니다.

실제 파이썬에서 자료형으로 많이 쓰이는

'리스트 / 튜플 / 딕셔너리 / 집합' 4가지 중

첫 번째로 리스트(List)를 알아보겠습니다.

실제로 리스트를 가장 많이 사용합니다!

이번 장에서는

인덱싱과 슬라이싱을 많이 사용하게 될 텐데요~

까먹으셨다면 링크를 통해 복습하세요!

 

 

04. 파이썬 인덱싱(Indexing), 슬라이싱(Slicing)

먼저, 문자열 자료형에서는 각 문자마다 번호 순서를 매길 수 있습니다. 각 문자마다의 번호를 인덱스(Index)라고 합니다. ​ 파이썬에서는 순서를 0부터 셉니다. 그리고 끝에서부터 번호를 셀 때

planharry.tistory.com

파이썬 자료형의 종류
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장에서 배운 자료형 관련 함수와 사용법이 동일합니다.

문자열 함수와 리스트 함수의 각 사용법을 익혀봅시다.

 

 

 

06. 파이썬 문자열 자료형 관련 함수

이번 장은 문자열 자료형의 문자열 자료형을 수정하는 함수를 리뷰하겠습니다. 문자열 함수 또는 문자열 내장함수라고 합니다. ■ 문자열 함수 □ 수행할 문자열 . 함수명령어() 1) 문자 개수

planharry.tistory.com

 

 

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]