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]와 동일

results matching ""

    No results matching ""