728x90

오늘 List 에 대해 마저 정리해보죠.
무슨 언어든 주구장창 시험해보고 직접 짜보고 그러는게 장땡입니다.

오늘 배울 것은 아래 3 가지입니다.

  • Value in List 구문 (내장구문)
  • List 객체의 멤버함수 사용 (List 를 다루는 함수들 사용)
  • List 의 요소(element) 삭제

(1) Value in List 구문

이 구문은 List 의 Element 중에서 Value 와 같은 것이 있는지를 검사하여 True/False 를 리턴합니다.

>>> a = [1,2,3]
>>> 2 in a                     # 2 가 List a 에 포함되어 있는지 검사
True
>>> if 2 in a: print 'yes'  # 포함되어 있으면 yes 를 찍도록
... 
yes
>>> b = 'aaaa', 3 in a    # aaaa 문자열과 3 이 List a 에 포함되어 있는지 여부를 묶어 List b 만듬
>>> b
('aaaa', True)
>>> b[0]                      # List b 의 첫번째 요소 리턴
'aaaa'
>>> a                          # List a 는 변함없음.
[1, 2, 3]

(2) List 객체의 멤버함수 사용

List 는 string 처럼 객체라는 것을 이해해야 합니다. 객체는 자신만이 가지고 있는 데이터 멤버를 가지고 있고, 해당 데이터 멤버들을 다룰 수 있는 멤버 함수들을 제공합니다.
우리는 전에 배운대로 dir 을 이용하여 해당 데이터 멤버 및 멤버함수의 리스트를 볼 수 있고, help 를 통해 그에 대한 사용법을 확인할 수 있습니다.

>>> a = [1,2,3,4]          # List a 를 만듬
>>> dir(a)                   # a 객체의 데이터멤버 및 함수 리스트를 확인

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

>>> help(a.pop)           # 함수 중 pop 함수의 사용법 확인
>>> a.pop(0)               # 첫번째 element 를 pop
1
>>> a                         # 1 이 없어졌음을 확인
[2, 3, 4]
>>> a.append(5)          # List a 에 숫자 5 를 element 로 마지막에 추가
>>> a
[2, 3, 4, 5]
>>> a.append(1)          # List a 에 숫자 1 을 마지막 element 로 추가
>>> a                         # sorting 은 안된 채 그대로 append 되어 있음
[2, 3, 4, 5, 1]
>>> help(a.sort)           # a 객체가 지원하는 sort 함수 사용법 확인
>>> a.sort
<built-in method sort of list object at 0x1619d88>
>>> a.sort()                 # List a 를 sorting 하여 다시 a 에 넣어둠
>>> a
[1, 2, 3, 4, 5]
>>> a.sort(reverse=True)   # 역으로 sorting 함
>>> a
[5, 4, 3, 2, 1]

(3) List 의 Element 삭제

List 에서 특정 요소를 삭제할 때는 내장명령어인 del 을 사용합니다.

>>> a = [1,2,3]
>>> del a[1]                # List a 에서 두번째 요소 삭제

del 명령어는 변수를 통째로 삭제할 때도 사용할 수 있습니다.

 

>>> a = [1,2,3]
>>> b = a                     # b 가 a 와 같은 List 객체 영역을 가리키도록 할당 (포인터)
>>> del a                     # a 포인터를 삭제할 뿐임
>>> b                          # 객체 자체는 살아있고 b 포인터도 살아있으므로 잘 보임
[1, 2, 3]
>>> a                          # a 포인터변수는 없어졌음.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>> a = b                     # 다시 b 를 a 에 할당
>>> a
[1, 2, 3]
>>> b
[1, 2, 3]
>>> del b                     # 이번에는 b 를 삭제
>>> a                          # 역시 포인터변수 a 가 가리키는 List 객체는 그대로 살아있음.
[1, 2, 3]

 

출처 : http://cloudrain21.tistory.com/entry/파이썬python-리스트List-이해하고-활용하기-두번째

728x90

'Python' 카테고리의 다른 글

python tuple  (0) 2014.05.02
python list sorting  (0) 2014.05.02
python list  (0) 2014.05.02
python string  (0) 2014.05.02
python import, 들여쓰기  (0) 2014.05.02

+ Recent posts