티스토리 뷰
[Python] 리스트 인덱싱 & 슬라이싱
리스트
숫자나 문자열을 모아서 저장하는 집합입니다.
리스트에 저장되어 있는 값에 대한 변경이 가능하며 순서를 변경할 수 있습니다.
리스트는 변수에 "[]"기호를 사용하여 생성할 수 있습니다.
아래는 odd 변수에 "2, 5, 8, 7, 9, 10, 13" 값을 리스트로 생성하였습니다.
코드 # 리스트 생성 및 리스트값 출력 odd = [2, 5, 8, 7, 9, 10, 13] print(odd) 결과 [2, 5, 8, 7, 9, 10, 13] |
리스트 인덱싱
리스트의 위치를 사용하여 값에 접근할 수 있습니다.
코드 # odd 리스트에 있는 0번 위치와 1번 위치에 있는 값을 출력 odd = [2, 5, 8, 7, 9, 10, 13] print(odd[0], odd[1]) 결과 2 5 |
리스트를 인덱싱하여 사칙연산을 할 수 있습니다.
코드 # odd 리스트에 있는 0번 위치와 1번 위치에 있는 값을 가져온 후 사칙연산 odd = [2, 5, 8, 7, 9, 10, 13] print(odd[0] + odd[1]) print(odd[0] - odd[1]) 결과 7 -3 |
리스트는 다른 리스트를 포함할 수 있습니다. 이러한 구조는 아래와 같습니다.
코드 # 7번 위치의 값은 리스트이며, 7번째 리스트 값에서 0번째 위치를 출력합니다. odd = [2, 5, 8, 7, 9, 10, 13,['Hello', 'Python', 'Good']] print(odd[7][0]) 결과 Hello |
print(odd[7])은 리스트의 7번 위치의 값을 지정하였습니다. 리스트의 7번 위치에 있는 값은 다른 리스트가 값으로 들어가 있으며 그다음 오는 Print의 [0]은 7번 값에 위치에 있는 리스트 중 첫번째 값을 지정합니다.
리스트 슬라이싱
슬라이싱은 자르다, 나누다라는 것을 뜻하며 리스트 슬라이싱은 여러 위치에 있는 값을 한번에 잘라서 사용하는 것을 말합니다.
리스트의 슬라이싱 위치는 아래와 같은 구조를 가지고 있습니다.
----------------------------------------------------------------- 코드 # 0번 위치부터 4번 위치까지 값을 출력 odd = [2, 5, 8, 7, 9, 10, 13,['Hello', 'Python', 'Good']] print(odd[0:4]) 결과 [2, 5, 8, 7] ----------------------------------------------------------------- ----------------------------------------------------------------- 코드 # 2번 위치부터 5번 위치까지 값을 출력 odd = [2, 5, 8, 7, 9, 10, 13,['Hello', 'Python', 'Good']] print(odd[2:5]) 결과 [8, 7, 9] ----------------------------------------------------------------- ----------------------------------------------------------------- 코드 # 처음위치 값부터 5번 위치까지 값을 출력 odd = [2, 5, 8, 7, 9, 10, 13,['Hello', 'Python', 'Good']] print(odd[:5]) 결과 [2, 5, 8, 7, 9] ----------------------------------------------------------------- ----------------------------------------------------------------- 코드 # 3번 위치부터 마지막위치까지 값을 출력 odd = [2, 5, 8, 7, 9, 10, 13,['Hello', 'Python', 'Good']] print(odd[3:]) 결과 [7, 9, 10, 13, ['Hello', 'Python', 'Good']] ----------------------------------------------------------------- |
리스트 슬라이싱은 중첩된 리스트도 슬라이싱하여 값을 사용할 수 있습니다.
코드 # 7번 위치에 있는 리스트 값의 0번 위치부터 2번 위치까지 값을 출력 odd = [2, 5, 8, 7, 9, 10, 13,['Hello', 'Python', 'Good']] print(odd[7][0:2]) 결과 ['Hello', 'Python'] |
리스트의 변경, 삭제
리스트의 지정한 위치 값을 변경합니다.
코드 odd = [2, 5, 8, 7, 9, 10, 13] odd[0] = 20 # odd 리스트의 0번 위치에 있는 값을 20으로 변경합니다. print(odd) 결과 [20, 5, 8, 7, 9, 10, 13] |
리스트의 연속으로 지정된 위치의 값을 변경합니다.
코드 odd = [2, 5, 8, 7, 9, 10, 13] odd[0:2] = 20, 23 # odd 리스트의 0번 위치부터 2번 위치까지 값을 각각 20, 23으로 변경합니다. print(odd) 결과 [20, 23, 8, 7, 9, 10, 13] |
리스트의 지정한 위치 값을 삭제합니다.
코드 odd = [2, 5, 8, 7, 9, 10, 13] del odd[0] # odd 리스트의 0번 위치 값을 삭제합니다. print(odd) 결과 [5, 8, 7, 9, 10, 13] |
리스트의 연속으로 지정된 위치의 값을 삭제합니다.
코드 odd = [2, 5, 8, 7, 9, 10, 13] del odd[0:2] # odd 리스트의 0번 위치부터 2번 위치까지 값을 삭제합니다. print(odd) 결과 [8, 7, 9, 10, 13] |
리스트 - 함수 응용
리스트 변수명 마지막에 ' . ' 을 붙여 여러가지 함수를 사용할 수 있습니다.
함수는 특정한 기능을 수행하기 위해 코드를 미리 작성하고 이름을 붙여 사용하는 것을 말합니다.
리스트에 값 추가
코드 odd = [2, 5, 8, 7, 9, 10, 13] odd.append(40) # odd 리스트에 '40'을 print(odd) 결과 [2, 5, 8, 7, 9, 10, 13, 40] |
리스트에 값 삽입
코드 odd = [2, 5, 8, 7, 9, 10, 13] odd.insert(0,10) # odd 리스트 0번 위치에 10을 추가 print(odd) 결과 [10, 2, 5, 8, 7, 9, 10, 13] |
리스트의 값 개수 Count
코드 odd = [10, 2, 5, 8, 7, 9, 10, 13] print(odd.count(10)) # odd 리스트에서 값이 "10" 요소를 카운트 결과 2 |
리스트 값 정렬
코드 odd = [10, 5, 2, 8, 7, 10, 9, 13] odd.sort() # odd 리스트에 있는 값을 오름차순으로 정렬 print(odd) 결과 [2, 5, 7, 8, 9, 10, 10, 13] |
리스트 값 뒤집기
reverse는 오름차순 정렬 후 역순으로 표기해주는 것이 아닌, 현재의 리스트의 값의 위치를 뒤집어 줍니다.
코드 odd = [10, 5, 2, 8, 7, 10, 9, 13] odd.reverse() # odd 리스트의 값의 위치를 뒤집는다. print(odd) 결과 [13, 9, 10, 7, 8, 2, 5, 10] |
리스트 값 위치 반환
코드 odd = [10, 5, 2, 8, 7, 10, 9, 13] print(odd.index(8)) # odd 리스트의 값 중 "8"의 위치를 반환 결과 3 |
리스트 요소 제거
remove는 리스트의 "값"을 기준으로 제거합니다.
코드 odd = [10, 5, 2, 8, 7, 10, 9, 13] odd.remove(8) # odd 리스트 값 중 "8"을 제거 print(odd) 결과 [10, 5, 2, 7, 10, 9, 13] |
리스트 요소 꺼내기
pop는 리스트의 "위치"를 기준으로 제거합니다.
코드 odd = [10, 5, 2, 8, 7, 10, 9, 13] odd.pop(3) # odd 리스트의 3번째 위치한 값을 제거 print(odd) 결과 [10, 5, 2, 7, 10, 9, 13] |
'[Dev] > Python' 카테고리의 다른 글
[Python] 딕셔너리(Dictionary) (0) | 2017.11.30 |
---|---|
[Python] 튜플 인덱싱 & 슬라이싱 (0) | 2017.11.30 |
[Python] Python Print 함수 - 2 (0) | 2017.11.29 |
[Python] Python Print 함수 - 1 (0) | 2017.11.29 |
[Python] Mac에서 Python3 Module 설치 (2) | 2017.11.29 |