Jay의 자취들

#6 파이썬 리스트 공부하기 본문

같이 공부하는 6코딩9/6파이썬9

#6 파이썬 리스트 공부하기

Jay Jeong 2021. 12. 20. 12:10


안녕하세요 재이입니다.
오늘은 리스트에 대해 알아보겠습니다.

 


1. 리스트 만들기

리스트란 숫자 혹은 문자열을 모아주는 역할을 합니다.

리스트 사용:
리스트명=[요소1, 요소2, 요소3, ... ]

리스트의 요소에는 숫자, '문자열', [리스트]가 있습니다.

a=[1, 2 , 3], b=['안녕', '하', '세요'], c=['a', 'b', 'd', ['e', 'f']]


2. 리스트 인덱싱과 슬라이싱

인덱싱

a=[1, 2, 3, 4]라는 리스트가 있을 때, 첫 번째 요소는 a[0], 두 번째 요소는 a[1], 세 번째 요소는 a[2], 네 번째 요소는 a[3]를 사용해 인덱싱하면 됩니다.이때 마지막 요소는 a[-1]로도 인덱싱 할 수 있습니다.

 

요소에 리스트가 포함되어 있을 때 그 리스트 안의 요소는 어떻게 인덱싱 할까요a=[1, 2, ['b', 'c']]라는 리스트에서 c를 인덱싱하려면['b', 'c']는 리스트 a의 3번째 요소이고 이 리스트 안의 2번째 요소이므로a[2][1]이렇게 하면 됩니다.

슬라이싱
슬라이싱은 나눈다는 뜻입니다.

 

리스트 인덱싱 할 때 보셨던 것 처럼 범위는 0부터 시작됩니다.

만약 a=[1, 2, 3, 4, 5]라는 리스트가 있습니다.a[0:3]이면

이기때문에

[1, 2, 3]으로 나옵니다.

 

리스트 안에 리스트가 있는 경우를 살펴봅시다.

a=[1, 2, 3, [10, 20, 30], 4]인 리스트가 있습니다

여기서 [10, 20]만 뽑고싶으면 a[3][0:2] 이렇게 하시면 됩니다.

앞의 3은 4번째 요소인[10,20,30]을 뽑고 뒤의 [0:2]는 4번째 요소에서 슬라이싱을 하는 것입니다.

시작값 또는 끝값을 생략하면 알아서 해당 문자열의 시작과 끝을 설정합니다

 

3. 리스트 연산하기

리스트 연산에는 +랑 *이 있습니다.

a=[1,2,3]

b=[4,5,6]

a+b=[1,2,3,4,5,6]

a*3=[1,2,3,1,2,3,1,2,3]

 

*리스트 길이구하려면 len() 함수를 사용하면 됩니다.

len(a+b) → 6

 

4. 리스트 수정과 삭제

 

수정은 수정할 자리를 인덱싱하고 수정할 값을 할당해줍니다.

a=[1,2,3]

a[0]=5 / 0번째 자리에 새로운 5 값 할당해줌

→ a=[5,2,3]

 

삭제는 del함수를 사용해줍니다.

a=[1,2,3,4,5,6,7,8,9,10]

del a[:3]

→ a=[4,5,6,7,8,9,10]

 

5. 리스트 관련 함수들

 

a=[1,3,2,1], b=[5,6]

함수 설명 예시
append append(x), 리스트의 맨 마지막에 x를 추가 a.append(4) → a=[1,2,3,1,4]
sort sort(), 리스트의 요소를 순서대로 정렬 a.sort() → a=[1,1,2,3]
reverse reverse(), 리스트를 역순으로 뒤집어 줌 a.reverse() → a[1,3,2,1]
index index(x), 리스트에 x 값이 있으면 x의 위치 값을 돌려줌 a.index(3) → 1
insert insert(a, b), 리스트의 a번째 위치에 b를 삽입 a.insert(2,9) → a=[1,3,9,2,1]
remove remove(x), 리스트에서 첫 번째로 나오는 x를 삭제 a.remove(1) → a=[3,2,1]
pop pop(x), 리스트의 x번째 요소를 돌려주고 그 요소 삭제 a.pop(0) → 1 → a=[3.2,1]
count count(x), 리스트에 포함된 요소 x 개수 세기 a.count(1) → 2
extend extend(x), 원래의 리스트에 x 리스트를 더함. x 무조건 리스트여야함 a.extend(b) → a=[1,3,2,1,5,6]

 


오늘은 파이썬 자료형 중 리스트에 대해 배워보았습니다.

그럼 안녕!

 

p.s.

같이 공부하는 6코딩9은프로그래밍 초보에서부터 고수까지 가는 여정을 담을 거예요. 아직은 초보입니다?
차근차근 꾸준히 하다 보면 나만의 포트폴리오를 만들 실력이 생기겠죠?
그럼 고수 재이를 볼 그날까지..
화이팅!

 

Comments