List
List Example
>>> a = [ ]
>>> b = [1, 2, 3]
>>> c = ['Life', 'is', 'too', 'short']
>>> d = [1, 2, 'Life', 'is']
>>> e = [1, 2, ['Life', 'is']]
Indexing
>>> a = [1, 2, 3, ['a', 'b', 'c']]
>>> a[-1]
['a', 'b', 'c']
>>> a[-1][0]
'a'
Slicing
>>> a = [1, 2, 3, 4, 5]
>>> a[0:2]
[1, 2]
>>> a = [1, 2, 3, ['a', 'b', 'c'], 4, 5]
>>> a[2:5]
[3, ['a', 'b', 'c'], 4]
추가
>>> a
[1, 2]
>>> a.append(3)
>>> a
[1, 2, 3]
수정/변경
>>> a = [1, 2, 3]
>>> a[2] = 4
>>> a
[1, 2, 4]
###################################
# a[1:2] = ['a', 'b', 'c']
###################################
>>> a[1:2] = ['a', 'b', 'c']
>>> a
[1, 'a', 'b', 'c', 4]
###################################
# a[1] = ['a', 'b', 'c']
###################################
>>> a
[1, 2, 4]
>>> a[1] = ['a', 'b', 'c']
>>> a
[1, ['a', 'b', 'c'], 4]
삭제
>>> a
[1, 'a', 'b', 'c', 4]
>>> a[1:3] = [ ]
>>> a
[1, 'c', 4]
>>> del a[1]
>>> a
[1, 4]
병합 및 반복
# 병합
a = [1, 2]
b = [3, 4, 5]
c = a + b
print(c) # [1, 2, 3, 4, 5]
# 반복
d = a * 3
print(d) # [1, 2, 1, 2, 1, 2]
검색
mylist = "This is a book That is a pencil".split()
i = mylist.index('book') # i = 3
n = mylist.count('is') # n = 2
List Comprehension
리스트의 [...] 괄호 안에 for 루프를 사용하여 반복적으로 표현식(expression)을 실행해서 리스트 요소들을 정의하는 방법
[표현식 for 요소 in 컬렉션 [if 조건식]]
아래 예제는 0부터 9까지 숫자들중 3으로 나눈 나머지가 0인 숫자에 대해 그 제곱에 대한 리스트를 구한 예이다.
list = [n ** 2 for n in range(10) if n % 3 == 0] print(list) # 출력: [0, 9, 36, 81]
oldlist = [1, 2, 'A', False, 3] newlist = [i*i for i in oldlist if type(i)==int] print(newlist) # 출력: [1, 4, 9]
Python 3 에서는 Dictionary Comprehension과 Set Comprehension을 추가로 지원
id_name = {1: '박진수', 2: '강만진', 3: '홍수정'} name_id = {val:key for key,val in id_name.items()} print(name_id) # 출력 : {'박진수': 1, '강만진': 2, '홍수정': 3}
oldlist = [1, 1, 2, 3, 3, 4] newlist = {i*i for i in oldlist} print(newlist) # 출력 : {16, 1, 9, 4}
관련 Function 참고
- sort(), reverse()
- index(v), insert(i,v), remove(i), pop(i)
- count(x)
- extend(x) : a.extend([4,5])는 a += [4,5]와 동일