리스트 (List) |
리스트는 파이썬의 배열이라고 보면 된다. 하지만 재크기 조정이 가능하고 다른타입의 원소를 가질수 있다.
>>> xs = [1,2,3] # 리스트를 초기화 한다.
>>> print xs, xs[2] # xs리스트와 xs리스트의 2번째 인덱스 원소를 출력한다.
[1, 2, 3] 3
>>> print xs[-2] # xs리스트의 끝에서 두번째 원소를 출력한다.
2
>>> xs[2] = 'G.ma' # xs리스트의 2번째 인덱스에 3대신 'G.ma'를 넣는다.(다른타입 들어감)
>>> print xs
[1, 2, 'G.ma']
>>> xs.append('jiyeon') # xs리스트 마지막에 'jiyeon'을 추가해준다.(스택의 push와 비슷)
>>> print xs
[1, 2, 'G.ma', 'jiyeon']
>>> x = xs.pop() # xs리스트의 마지막원소를 제거하고 그 원소를 x에 넣는다.(스택의 pop과 비슷)
>>> print x, xs
jiyeon [1, 2, 'G.ma']
- 리스트 자르기 (list slicing)
>>> numbers = range(6) # 0~5까지 정수형 리스트를 만들어준다.
>>> print numbers
[0, 1, 2, 3, 4, 5]
>>> print numbers[2:5] # 2번째 인덱스 부터 5번앞 인덱스인 4번째 인덱스까지 출력한다.
[2, 3, 4]
>>> print numbers[2:] # 2번째 인덱스부터 끝까지 출력한다.
[2, 3, 4, 5]
>>> print numbers[:2] # 0번째 인덱스부터 두번째 인덱스 앞인 첫번째 인덱스까지 출력한다.
[0, 1]
>>> print numbers[:] # 전체 출력한다.
[0, 1, 2, 3, 4, 5]
>>> print numbers[:-2] # 처음(0번째 인덱스)부터 -2인덱스(4번째 인덱스)앞인 3번째 인덱스 까지 출력한다.
[0, 1, 2, 3]
>>> numbers[2:5] = [8,9,10] # 2번째 인덱스부터 4번째 인덱스까지를 8,9,10으로 대체한다.
>>> print numbers
[0, 1, 8, 9, 10, 5]
- 리스트 루프 (list loops)
>>> fruits = ['apple','banana','grape']
>>> for fruit in fruits:
... print fruit
...
apple
banana
grape
# 과일리스트 안의 원소(fruit라 지정)를 하나씩 꺼내어 출력한다. 각각 다른 라인으로 출력된다.
>>> for idx, fruit in enumerate(fruits):
... print '#%d: %s' % (idx + 1, fruit)
...
#1: apple
#2: banana
#3: grape
enumerate()함수를 이용하여 리스트 인덱스에 접근가능하다.
- 리스트의 이해
>>> numbers = range(5)
>>> print numbers
[0, 1, 2, 3, 4]
>>> squares = []
>>> for x in numbers:
... squares.append(x**3)
...
>>> print squares
[0, 1, 8, 27, 64]
위 코드를 아래 코드로 더 간단히 만들수 있다.
>>> squares2 = [x**3 for x in numbers]
>>> print squares2
[0, 1, 8, 27, 64]
>>> even_squares = [x**3 for x in numbers if x%2 == 0]
>>> print even_squares
[0, 8, 64]
또한 조건문도 넣을 수 있다.
'FALL in > G.MA's 파이썬' 카테고리의 다른 글
[파이썬 함수] (0) | 2016.03.26 |
---|---|
[파이썬 Containers] - 튜플 (0) | 2016.03.26 |
[파이썬 Containers] - 집합 (0) | 2016.03.22 |
[파이썬 Containers] - 딕셔너리 (0) | 2016.03.21 |
[파이썬 기본 데이터 타입] - 수치, 논리, 문자열 (0) | 2016.03.21 |