티스토리 뷰

리스트 인덱스&슬라이싱
- 목 차 -
1. 인덱스 →요소값으로 찾아오기
2.슬라이싱 → 첫번째,마지막 값으로 찾아오기
1. 리스트 인덱스
요소에 해당하는 값 찾아오기
리스트라고 하면 값을 묶어 놓은 그룹이라고 생각하시면 됩니다.
하나의 변수 안에 여러개의 값을 담을 수가 없으니 리스트를 지정해 요소1,요소2,요소3.... 이렇게 해서 원하는 값을 담으면 됩니다.
그리고 값을 담았을 때 원하는 요소의 값을 가져오고자 할 경우에 인덱스를 이용하시면 됩니다.
모든 파이썬에서 그렇듯이 시작값은 항상 0으로 시작하게 됩니다.
python 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
testList =[ 1 , 2 , 3 , "Keyboard" , "Day" ,[ "key" , "board" ]];
 
print ( testList [ 0 ]);
//결과
1
 
print ( testList [ 0 ]+ testList [ 1 ]);
//결과
3
 
print ( testList [ 5 ]);
print ( testList [ -1 ]);
//결과
['key,'board']
 
print ( testList [ 5 ][ 0 ]);
//결과
key
 
print ( testList [ 5 ][ 1 ]);
//결과
board
 
print ( testList [ 6 ]);
//결과
list index out of range
 
print ( testList [ 0 ]+ testList 3 ]);
//결과
unsupported operand type(s) for +: 'int' and 'str'
코드설명
testList [ 0 ]+ testList [ 1 ]
testList[0]을 하게 되면 맨 앞에 있는 첫번째 요소에 해당하는 1이라는 값을 가져오게 됩니다.
testList[1]은 리스트에 두번째에 해당하는 요소의 값 2를 가져오게 됩니다.
두 요소에 담긴 문자형은 숫자형에 해당하기 때문에 + 연산자를 사용하게 되면 3이라는 결과값을 반환하게 됩니다.
print ( testList [ 5 ]); print ( testList [ -1 ]);
testList[5]는 맨 마지막에 해당하는 요소를 가리키게 됩니다.
현재의 예제의 경우는 요소가 얼마되지 않았기에 이러한 지정이 가능하지만 만약에 요소가 많은 경우에는 이렇게 지정하기가 어렵습니다.
그러한 경우에는 -1을 입력해 주면 끝에서부터 해당하는 요소의 값을 가져오게 됩니다.
즉 -1,-2,-3 .... 이렇게 하면 끝에서부터 해당하는 요소의 값을 가져오게 됩니다.
testList [ 6 ]
만약에 리스트에 해당하는 값을 벗어나게 될 때 파이썬에서는 오류를 반환하게 됩니다.
위에서 보는 것처럼 0~5번까지 있는 리스트에서 6번에 해당하는 값을 가져와서 출력하라는 명령을 내렸습니다.
이럴 때 해당하는 값을 찾을 수가 없기 때문에 결과는 list index out of range라는 값을 반환하게 됩니다.
testList [ 0 ]+ testList [ 3 ]
파이썬이 숫자형인 것과 문자형인 경우를 + 연산을 사용할 경우에는 오류를 반환하게 됩니다.
결과에서 보는 것처럼 int 형과 str 형인 경우 +요소는 지원되지 않는다고 표시를 하고 있습니다.
2. 슬라이싱
리스트 범위 내에서 값 가져오기
리스트의 각 요소에 값을 지정한 뒤에 몇번째 위치부터 몇번째 위치까지의 값을 가져오고자 할 경우에 슬라이싱을 이용하게 됩니다.
사용 방법은 문자열에서 이용한 방식과 같습니다.
슬라이싱을 이용하게 되면 인덱스를 이용해 가져오는 것보다 값을 집합 단위로 가져올 수가 있습니다.
python 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
testList =[ 1 , 3 ,[ "key" , "board" , "day" ], "key" , "board" ];
 
print ( testList [ 0 : 2 ]);
//결과
[1,3]
 
print ( testList [ 1 : 3 ]);
//결과
[3,['key','board','day']]
 
print ( testList [ 2 ][ 1 :]);
//결과
['board','day']
 
print ( testList [ 3 :]);
//결과
['key','board']
 
print ( testList [: 3 ]);
//결과
[1,3,['key','board','day']]
코드설명
testList [ 0 : 2 ]);
슬라이싱을 이용하기 위해서 콜론(:)을 이용하게 됩니다.
결과값은 0에서 2까지를 가져오는 것이 아닌 0,1에 해당하는 값을 가져오게 됩니다.
0:2라는 의미는 0부터 2미만까지 입니다.
testList [ 2 ][ 1 :]);
리스트 안에 리스트로 되어 있을 경우에는 앞에서 배운 인덱스를 가지고 먼저 리스트를 가져오게 됩니다.
그리고 뒤에 이어서 슬라이싱을 이용해서 값을 가져올 수 있습니다.
[1:]을 가져오라고 하게 되면 1번 위치부터 끝까지에 해당하는 값을 가져오게 됩니다.
그래서 결과 값으로 board와 day를 반환하게 됩니다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday