본문 바로가기

Programming/Python

[파이썬 프로그래밍] 7화 리스트

[파이썬 프로그래밍] 7화 리스트



 

번 파이썬프로그래밍 7화에서는 리스트에 대해서 다룹니다.

리스트가 뭐냐구요? 안알랴줌


요새 안알랴줌 이라는 말이 일베에서부터 퍼져서 유행인것 같은데 그러면 저는 반대로 '알랴줌' 이라고 

하겠습니다 ㅎㅎ


개그코드가 안먹혔다면, 죄송합니다. 다소 짜증을 유발할지도 모르겠군요.. 

아무튼 본론으로 들어가겠습니다.



리스트



위의 코드를 간략히 설명 드리면, cute 라는 귀엽다 라는 느낌의 변수명을 만들고 거기에

dog(개),cat(고양이),여자(?) 라는 귀여운 이미지가 연상되는(?)값들을 넣었습니다.

그리고 호출하면 역시 입력한것이 정상적으로 출력 한것이 확인 됩니다. type(cute) 라는 명령어를 수행하면

리스트 타입이라고 나옵니다.


리스트는 바로 '값의 나열' 입니다. 인덱싱,슬라이싱도 가능한 녀석 입니다.




▲ 자 , 이번에는 cute.append('bear') 이라고 입력하여 곰이라는 귀여운 동물을 cute라는 변수값에 추가

할 수도 있습니다. 이렇게 되면 리스트의 종단에 가서 'bear' 이 붙어서 순차적으로 리스트가 출력 되는 것을

확인됩니다.






▲ 이번에는 insert(위치,값) 을 입력해줍니다. 이렇게 하면 몇번째 위치에 무슨값을 넣을지를 지정하는 명령어 형태가 됩니다. 저는 2번째 위치에 dolphin(돌고래) 를 넣고 싶다고 입력하고 cute 라는 변수를 불러오면

바로 2번째 위치에 예상대로 돌고래가 들어간것을 확인 할수 있습니다. 신기하죠? >_<


그 다음 값을 여러개를 넣기위해 cute.extend(['fisn','pikachu')] 라고 입력해주면

물고기와 피카츄가 마지막에 나란히 추가 되어집니다.

extend는 이렇게 여러개의 값을 동시에 집어 넣을떄 사용됩니다.






▲ cute += ['dog'] 라고 입력하면, cute 라는 변수에 'dog'를 값을 저장 해줍니다.

그리고 나서 cute 변수를 호출하면 가장 말단에 'dog' 라는 값이 들어간것을 확인 할 수 있습니다.





cute.index('dog') 라고 입력하면 인덱싱 기능을 수행 하는데요. 처음에 첫번째에 dog가 있는데

첫번째는 0번째 부터 시작하는것으로 인식하기 때문에 첫번째만 반환해줘서 '0' 이라는 결과값이

나옵니다.





▲ dog라는것이 첫번째 자리와 7번째 자리에 있는데 이번에는 cute.index('dog',1)

dog 시작위치를 두번쨰 인자라고 설정해주면 7번쨰에 있다고 알려줍니다.

여기서 두번쨰 인자가 뭐냐고 하시는 분이 있을까봐 말씀 드리자면, dog 하나를

인자값이라고 부르고 dog가 2개있죠? 그러니까 두번째 시작하는 인자값은 1이 됩니다.

왜냐하면 0부터 시작하는 것이기 떄문에 숫자 0 다음은 1이죠? 그래서 1이 됩니다.


앞으로도 계속 0부터 시작하는 것이 파이썬의 특징이고 C언에서도 마찬가지 이기 때문에

숙지 하시길 바랍니다^^




▲ count 를 써주면 저렇게 몇번 들어있는지 계산 해서 출력해 줍니다. 참 신기방기 하죠? +_+







▲  이제 pop() 메소드에 대해서 알아보겠습니다. 대게 자료구조나 정보처리 자격증을

공부해 보신 분들, 또는 리버스엔지니어링 같은 역공학 을 공부해 보셨으면 어떤 기능인지

아실겁니다. 쉽게 말해 push 가 밀어넣다 이면 그 반대인 pop은 뺀다 라고 할수있죠


즉 pop() 메소드를 입력하면 값을 빼주는 역할을 해줍니다.

cute.pop()라고 입력하면 제일 끝에 입력된 값부터 뺴줍니다.

제일 끝에 가  dog가 있었죠. 그래서 처음에 dog가 빠져나왔다고 출력해주고 그다음에

또 pop()메소드를 입력하자 가장 뒤에 있던 피카츄를, 그다음엔 피쉬를 빼줍니다.


최종적으로 cute 변수를 호출하면 'dog' , 'cat' ,'dolphin' ,'girl', 'bear' 값만 리스트 출력해

줍니다.


그렇다면 여기서 3번째에 있는 돌핀을 뺴주려면 어떻게 해야할까요?

아까 첫번쨰는 0부터 시작한다고 했죠? 그러면 돌핀은 몇번쨰라고 해야하나요?

우리눈에는 3번째 이지만 0부터 시작하면 2죠?

즉 cute.pop(2) 라고 입력 돌핀이 빠지겠죠 !


자, 결과를 확인해 보실까요?




▲ 네, 바로 저렇게 돌핀이 정상적으로 빠져나간 것을 확인 할수 있습니다.






sort() 라는 메소드는 정렬을 시켜주는 역할을 합니다.

즉 ABCD 형태로 정렬하기 떄문에 지금 들어있는 값중에서 가장 A에 가까운

b가 들어있는 단어인 'bear' 부터 cat,dog,girl 순으로 정렬된것을 확인 할 수 있지요.


그다음 역방향 정렬은 reverse() 를 쓰면 반대로 된것을 확인 할 수 있습니다.