리스트

반응형

1.4. 리스트(list)

안녕하세요~ 여러분~

오늘도 여러분과 함께 파이썬 놀이하러 왔습니다.

오늘이 제가 이 강좌를 시작한 지 이틀째 되는 날입니다. 작심삼일이 되지 않도록 저에게 힘을 주세요.

저도 엊그제까지만 해도 파이썬에 대해 아무 것도 몰랐답니다. 무식하면 용감하다고 저도 공부해 가면서 용감하게 글을 쓰고 있습니다. ^^;

오늘은 저희 가족 이야기를 해보겠습니다. 저희 식구는 네 명이었습니다. 어머니, 아버지, 저, 동생. 대장은 어머니, 그 다음이 아버지입니다. 그러니까 저는 넘버 쓰리였던 것이었습니다… 으흐흐…

파이썬에서는 저희 가족을 이렇게 표현할 수 있답니다.

>>> family = ['mother', 'father', 'gentleman', 'sexy lady']

저희 가족에는 아버지, 어머니, 저, 동생이 있다는 것을 이렇게 쓰는 것이지요. 이해가 갑니까? 옵니까? 예, 그냥 동생이라고 했는데 실은 여동생입니다. 침 닦으십쇼. --#

len()

그럼, 컴터한테 저희 가족이 몇 명인지 물어보겠습니다.

>>> len(family)
4

len( … ) 이라고 쓰면 목록에 몇 개가 들어 있는지를 보여줍니다. 저희 가족을 family라는 목록으로 표현했으니까 4라고 대답을 하는 겁니다.

목록은 말 그대로 여러 개의 자료를 묶은 것을 말하구요, 위에서 보신 것처럼 각괄호([])랑 쉼표를 써서 표현하시면 됩니다.

그럼 저희 가족 중에 넘버 쓰리가 누구인지 물어볼까요?

아래와 같이 쓰고 를 살짝 눌러주세요.

>>> family[3]

답이 뭐라고 나오죠? 당근 'gentleman'이라고 나오겠죠? 그러나! 이상하게도 파이썬은 다른 대답을 합니다.

어떤 결과가 나오는지 직접 확인해보세요.

...

확인해보셨나요? 왜 그런 답이 나왔을까요?

그 이유는 목록의 첫번째 자리를 차고앉은 'mother'가 1번이 아니라 0번이기 때문입니다. 왜 1이 아니라 0일까요? 그건 저도 잘 모릅니다.--;

그런데 파이썬 말고 다른 프로그래밍 언어에서도 여러 개를 묶어두었을 땐 번호를 0번부터 붙여주더군요.

그렇다면 저는 몇 번일까요? 'mother'가 0이고, 'father'가 1이니까 저는 2겠군요. 맞는지 확인을 해봐야죠?

>>> family[2]
'gentleman'

제가 넘버투가 되어버린 감격스러운 순간입니다!!! 기뻐해 주십시오, 여러분~.

하지만 그 기쁨도 잠시, 저의 머리가 5400rpm으로 회전하기 시작했습니다. (rpm은 1분에 몇 바퀴를 도는지 나타내는 단위입니다. 컴퓨터의 하드디스크가 5400rpm으로 돌지요.) 저는 넘버 투에 만족할 놈이 아니기 때문입니다.

머리를 한참 굴리던 저는 넘버 0이 될 수 있는 방법을 찾아내었습니다. 무슨 방법이냐구요?

독립입니다. 대한독립만세~

remove()

우선 가족에서 제 이름을 뺍니다.

>>> family.remove('gentleman')

remove는 뭔가를 제거한다는 뜻을 갖고 있죠. 위의 문장은 family에서 'I'라는 놈을 없애라는 말입니다. 그럼 제가 확실히 없어졌는지 확인을 해보겠습니다.

>>> family
['mother', 'father', 'sexy lady']

예, 제가 확실히 제거되었군요. 이제 새로운 세대를 구성할 차례입니다. 새로운 목록(list)은 family 말고 다른 이름을 지어주면 좋을 것 같습니다. 여러분이 새로운 이름으로 하나 만들어주세요.