본문 바로가기

Programming/Python Tutorials

[PYTHON 3] Tutorials 5. Lists


안녕하세요.

이번 시간에는 파이썬에서 가장 중요하고, 사용 빈도수가 높은 Lists(배열)에 대해 알아볼까요?

직관적으로 생각하기에 리스트는 말 그대로 문자나, 

숫자 등을 쭈욱~ 나열한 일련의 집합이라고 보시면 될것 같습니다.

문자, 숫자 어느 것을 집어 넣어도 상관 없겠으나 여기서는 간단히 숫자로만 설명을 하겠습니다.


1. players 라는 변수에 위와 같이 일련의 점수를 넣으려고 할 때, 파이썬에서는 리스트 형태로 'Square Bracket [ ] '을 사용합니다.

players 에 29, 55, 52, 61, 78, 87 을 저장하였습니다.

2. 그럼 저장된 players 변수에 3번째 (컴퓨터는 0부터 카운트 한다고 지난 시간에 다루었습니다) 값을 확인해 볼까요?

52라는 숫자를 뱉어 내는군요.

3. 그럼 이 3번째 값에 다른 숫자로 치환을 해 볼까요?

players[2] = 68    <- players 변수의 3번째 값에 68을 집어 넣어라~ 라는 의미입니다.

이제 넣었으니 다시 한번 players 값에는 뭐가 있는지 확인해 봅니다.

확인해 보니 players 의 3번째 값이 바뀐 일련의 숫자가 보이네요.

4. 이번에는 이 players 변수에 아이템들을 조금 더 더해 보겠습니다.

players 에 90,91,98 이라는 값을 리스트 형태로 더해 주었더니,

위 그림과 같이 출력이 됩니다.

여기에서 알아두어야 할 사항은 이 출력값은 일시적인 값이라는 것입니다.

여전히 players 에는 29,55,68,61,78,87 이라는 값만 들어 있다는 점!

5. 그럼 players 라는 변수에 직접 값을 첨가하고자 할 때는 어떻게 해야 할까요?

6. 파이썬의 메쏘드(함수)인 append() 를 사용하면 됩니다.

append : 첨가하다, 더하다 라는 뜻

players.append(120)  <--- players 변수에 숫자 120 값을 더하라! 혹은 넣어라! 라는 의미입니다.

append 후 확인해 보니 오른쪽 끝에 120이라는 값이 잘 들어가 있네요.

7. players[:2]  <- players 변수의 0,1 포지션값을 묻는말에 29, 55라는 값이 있다고 알려주네요.

8. 그럼 이 포지션 0,1 값에 한번에 다른 값으로 치환하려고 할때는?

위와같이 players[:2] = [0,0]  처럼 치환하고자 하는 값을 리스트 형태로 넣어주면 됩니다.

확인을 위해 players 를 입력하니 포지션 0,1 에 0,0,68,61~~~ 이렇게 잘 들어가 있네요.

9. 그럼 players 의 특정 포지션의 값을 초기화(삭제) 하고자 할 때는 어떻게?

앞의 것을 조금만 바꾸면 됩니다.

players[:2] = []        <----- players 의 0,1 포지션값을 []로 초기화 시킨 결과.. 아래 그림과 같이 나옵니다.


10. players 값 전체를 위와 같이 초기화 하려면?

위와 같이 players[:] = [] 이렇게 하면 되겠죠?

그러나, 일반적으로는 전체를 초기화 할 시에는 그냥 players = [] 를 사용해서 초기화를 시켜버린답니다.

여기까지 하고 끝내려니 리스트(배열)에 집어 넣는것은 했는데, 뽑아 내는 것은 안다뤘군요.


11. 리스트에서 값을 뽑아낼 때는 pop()라는 값을 메소드를 사용합니다.

위의 그림에서 students 는 54,79,93,100 이라는 값을 가지고 있는데,

여기에 students.pop() 을 하면 오른쪽 끝의 값이 빼 내겠다는 의미입니다. 여기서는 100 값이겠죠.

그래서 다시 students 를 확인해 보니 100이라는 값이 빠진 값들만 존재하게 됩니다.

12. 그럼 특정 포지션에 있는 값을 빼 내려면?

마찬가지로 pop() 을 사용하는데 괄호안에 빼 내고자 하는 값의 포지션 값을 넣으면 됩니다.

위 그림에서는 54, 79, 93 이렇게 값이 존재하는데, 순서대로 0,1,2의 포지션입니다.

여기에서 포지션 1의 값을 뽑아내려고 하면,

students.pop(1) 을 하니 79값이 나오고

남아 있는 students 의 값은 54, 93만 남게 됩니다.

13. 값을 넣어주는 append() 도 마찬가지로 오른쪽으로 들어가니 위의 그림처럼 나옵니다.

14. 앞서 사용한 방법을 응용하여 리스트 값을 넣어주려고 할 때,

위의 그림과 같이 포지션 범위를 정하고 한꺼번에 넣어 줄 수도 있습니다.

15. 특정 포지션의 값을 뽑아서 score라고 하는 변수에 그 값을 넣어 주려고 할 때, 위의 그림처럼 하면 됩니다.

조금씩 응용을 해 보시면 금방 익숙하게 사용하실 수 있을 것입니다.

LISTS 는 여기까지 입니다.

수고하셨습니다.