Python 기초 - 리스트

런던행·2020년 5월 31일
0

Python 기초

목록 보기
1/11

ref : OREILLY의 "처음 시작하는 파이썬" 을 참고하여 요약하고자 한다.

튜플은 불변(immutable)한다. 이는 튜플에 항목을 할당하고 나서 이를 수정 할 수 없다.
리스트는 변경가능(mutable)한다. 항목을 할당하고, 자유롭게 수정하거나 삭제 할 수 있다.

리스트

리스트 생성하기

  • [] or list()
>>> empty_list = []
>>> empty_list = list()

다른 데이터 타입을 리스트로 변환하기

>>> list('cat')
['c', 'a', 't']
>>> a_tuple = ('ready', 'fire', 'aim')
>>> list(a_tuple)
['ready', 'fire', 'aim']

슬라이스로 항목 추출하기

>>> marxes = ['abc', 'def', 'ghi']
>>> marxes[0:2] # 처음부터 2개 항목 추출 
['abc', 'def']
>>> marxes
['abc', 'def', 'ghi']
>>> marxes[::2]  # 처음부터 오른쪽으로 2칸씩 항목 추출
['abc', 'ghi']
>>> marxes[::-2] # 끝에서 왼쪽으로 2칸씩 항목 추출
['ghi', 'abc']
>>> marxes[::-1] # 리스트를 반전
['ghi', 'def', 'abc']

리스트 병합 하기: extend() or +=

>>> marxes
['abc', 'def', 'ghi']
>>> others = ['aaa', 'bbb']
>>> marxes.extend(others)
>>> marxes
['abc', 'def', 'ghi', 'aaa', 'bbb']
>>> news = ['ccc', 'ddd']
>>> marxes += news
>>> marxes
['abc', 'def', 'ghi', 'aaa', 'bbb', 'ccc', 'ddd']

오프셋과 insert()로 항목 추가하기

>>> marxes
['abc', 'def', 'ghi', 'aaa', 'bbb', 'ccc', 'ddd']
>>> marxes.insert(0, 'zero')
>>> marxes
['zero', 'abc', 'def', 'ghi', 'aaa', 'bbb', 'ccc', 'ddd']

오프셋으로 항목 삭제하기: del

>>> marxes
['zero', 'abc', 'def', 'ghi', 'aaa', 'bbb', 'ccc', 'ddd']
>>> del marxes[-1]  # -1은 항목의 마지막(끝)을 나타낸다.
>>> marxes
['zero', 'abc', 'def', 'ghi', 'aaa', 'bbb', 'ccc']

값으로 항목 삭제하기: remove()

>>> marxes
['zero', 'abc', 'def', 'ghi', 'aaa', 'bbb', 'ccc']
>>> marxes.remove('aaa')
>>> marxes
['zero', 'abc', 'def', 'ghi', 'bbb', 'ccc']

오프셋으로 항목을 얻은 후 삭제하기: pop()

  • pop()은 리스트에서 항목을 가져오는 동시에 그 항목을 삭제한다. 오프셋과 함께 pop()을 호출 했다면 그 오프셋의 항목이 반환되고 만약에 없다면 -1을 사용한다(마지막 오프셋)
>>> marxes
['zero', 'abc', 'def', 'ghi', 'bbb', 'ccc']
>>> marxes.pop()
'ccc'
>>> marxes
['zero', 'abc', 'def', 'ghi', 'bbb']

값으로 항목 오프셋 찾기: index()

>>> marxes
['zero', 'abc', 'def', 'ghi', 'bbb']
>>> marxes.index('bbb')
4

존재여부 확인하기: in

>>> marxes
['zero', 'abc', 'def', 'ghi', 'bbb']
>>> 'bbb' in marxes
True
>>> 'qqq' in marxes
False

값 세기: count()

>>> marxes
['zero', 'abc', 'def', 'ghi', 'bbb']
>>> marxes.count('bbb')
1
>>> marxes.count('qqq')
0
>>> 

문자열 변환하기: join()

>>> marxes
['zero', 'abc', 'def', 'ghi', 'bbb']
>>> ','.join(marxes)
'zero,abc,def,ghi,bbb'

정렬하기: sort()

  • sort()는 리스트 자체를 내부적으로 정렬한다.
  • sorted()는 리스트의 정렬된 복사복을 반환한다.

항목 개수 얻기: len()

pass

할당: =

복사: copy

>>> marxes
['zero', 'abc', 'def', 'ghi', 'bbb']
>>> copy_mar = marxes.copy()
>>> copy_mar
['zero', 'abc', 'def', 'ghi', 'bbb']
profile
unit test, tdd, bdd, laravel, django, android native, vuejs, react, embedded linux, typescript

0개의 댓글