[개발]프로그래밍/python
[python] list 인덱싱과 슬라이싱 - 요소 값 가져오기
좋은 블로그
2022. 6. 21. 10:55
리스트 인덱스&슬라이싱
- 목 차 -
1. 인덱스 →요소값으로 찾아오기
2.슬라이싱 → 첫번째,마지막 값으로 찾아오기
1. 리스트 인덱스
요소에 해당하는 값 찾아오기리스트라고 하면 값을 묶어 놓은 그룹이라고 생각하시면 됩니다.
하나의 변수 안에 여러개의 값을 담을 수가 없으니 리스트를 지정해 요소1,요소2,요소3.... 이렇게 해서 원하는 값을 담으면 됩니다.
그리고 값을 담았을 때 원하는 요소의 값을 가져오고자 할 경우에 인덱스를 이용하시면 됩니다.
모든 파이썬에서 그렇듯이 시작값은 항상 0으로 시작하게 됩니다.
하나의 변수 안에 여러개의 값을 담을 수가 없으니 리스트를 지정해 요소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이라는 결과값을 반환하게 됩니다.
testList[1]은 리스트에 두번째에 해당하는 요소의 값 2를 가져오게 됩니다.
두 요소에 담긴 문자형은 숫자형에 해당하기 때문에 + 연산자를 사용하게 되면 3이라는 결과값을 반환하게 됩니다.
print ( testList [ 5 ]); print ( testList [ -1 ]);
testList[5]는 맨 마지막에 해당하는 요소를 가리키게 됩니다.
현재의 예제의 경우는 요소가 얼마되지 않았기에 이러한 지정이 가능하지만 만약에 요소가 많은 경우에는 이렇게 지정하기가 어렵습니다.
그러한 경우에는 -1을 입력해 주면 끝에서부터 해당하는 요소의 값을 가져오게 됩니다.
즉 -1,-2,-3 .... 이렇게 하면 끝에서부터 해당하는 요소의 값을 가져오게 됩니다.
현재의 예제의 경우는 요소가 얼마되지 않았기에 이러한 지정이 가능하지만 만약에 요소가 많은 경우에는 이렇게 지정하기가 어렵습니다.
그러한 경우에는 -1을 입력해 주면 끝에서부터 해당하는 요소의 값을 가져오게 됩니다.
즉 -1,-2,-3 .... 이렇게 하면 끝에서부터 해당하는 요소의 값을 가져오게 됩니다.
testList [ 6 ]
만약에 리스트에 해당하는 값을 벗어나게 될 때 파이썬에서는 오류를 반환하게 됩니다.
위에서 보는 것처럼 0~5번까지 있는 리스트에서 6번에 해당하는 값을 가져와서 출력하라는 명령을 내렸습니다.
이럴 때 해당하는 값을 찾을 수가 없기 때문에 결과는 list index out of range라는 값을 반환하게 됩니다.
위에서 보는 것처럼 0~5번까지 있는 리스트에서 6번에 해당하는 값을 가져와서 출력하라는 명령을 내렸습니다.
이럴 때 해당하는 값을 찾을 수가 없기 때문에 결과는 list index out of range라는 값을 반환하게 됩니다.
testList [ 0 ]+ testList [ 3 ]
파이썬이 숫자형인 것과 문자형인 경우를 + 연산을 사용할 경우에는 오류를 반환하게 됩니다.
결과에서 보는 것처럼 int 형과 str 형인 경우 +요소는 지원되지 않는다고 표시를 하고 있습니다.
결과에서 보는 것처럼 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미만까지 입니다.
결과값은 0에서 2까지를 가져오는 것이 아닌 0,1에 해당하는 값을 가져오게 됩니다.
0:2라는 의미는 0부터 2미만까지 입니다.
testList [ 2 ][ 1 :]);
리스트 안에 리스트로 되어 있을 경우에는 앞에서 배운 인덱스를 가지고 먼저 리스트를 가져오게 됩니다.
그리고 뒤에 이어서 슬라이싱을 이용해서 값을 가져올 수 있습니다.
[1:]을 가져오라고 하게 되면 1번 위치부터 끝까지에 해당하는 값을 가져오게 됩니다.
그래서 결과 값으로 board와 day를 반환하게 됩니다.
그리고 뒤에 이어서 슬라이싱을 이용해서 값을 가져올 수 있습니다.
[1:]을 가져오라고 하게 되면 1번 위치부터 끝까지에 해당하는 값을 가져오게 됩니다.
그래서 결과 값으로 board와 day를 반환하게 됩니다.