티스토리 뷰
728x90
1. 리스트 메소드
list.append(x) | 리스트 끝에 항목을 더합니다. a[len(a):] = x 와 동등합니다. |
list.extend(iterable) | 리스트 끝에 이터러블의 모든 항목을 덧붙여서 확장합니다. a[len(a):] = iterable 와 동등합니다. |
list.insert(i,x) | list의 i 번째 항목 앞에 x를 삽입합니다. 첫 번째 인자는 삽입되는 요소가 갖게 될 인덱스입니다. 그래서 a.insert(len(a), x) 는 a.append(x) 와 동일합니다. |
list.remove(x) | list에서 x와 값이 같은 첫 번째 항목을 삭제합니다. 만약 그런 항목이 없으면 ValueError를 일으킵니다. |
list.pop(i) | list에서 i에 있는 항목을 삭제하고 반환합니다. 만약 i를 명시적으로 적지 않았다면 마지막 항목을 삭제하고 반환합니다. |
list.clear() | 리스트의 모든 항목을 삭제합니다. del list[:] 와 동등합니다. |
list.index(x[, start[, end]]) | 리스트에서 x와 값이 같은 항목을 start 부터 end 까지 찾습니다. |
list.count(x) | 리스트에서 x가 등장하는 횟수를 알려줍니다. |
list.sort(*, key=None, reverse=False) | 리스트의 항목들을 제자리에서 정렬합니다. |
list.reverse() | 리스트의 항목들을 제자리에서 뒤집습니다. |
728x90
2. 리스트를 "스택"으로 사용하기
- 리스트 메소드들은 리스트를 스택으로 사용하기 쉽게 만듭니다. (LIFO)
- 리스트에 값을 넣을 때는 "append" 를 사용하고 값을 꺼낼 때는 "pop" 을 사용하면 됩니다.
3. 리스트를 "큐" 로 사용하기
- 리스트를 큐로 사용할 수 있습니다. (FIFO)
- 리스트에 값을 넣을 때는 "append" 를 사용하고 값을 꺼낼 때는 "popleft" 를 사용하면 됩니다. (popleft 는 가장 첫 번째 항목을 반환합니다.)
- 다만, 리스트를 큐로 사용하기엔 효율적이지 않으므로 "collections.deque" 를 사용하는 것을 권장합니다.
4. 리스트 컴프리헨션
- 리스트 컴프리헨션은 "리스트를 간결하게 만드는 방법" 을 제공합니다.
- 만약 제곱수의 리스트를 만들고 싶다면, for 문을 사용해서 만들 수 있겠지만 리스트 컴프리헨션을 이용해 만들면 한 줄로 만들 수 있습니다.
예) squares = [ x**2 for x in range(10) ]
- 또한 if 문과 사용할 수도 있습니다. 예1과 예2는 모두 같은 리스트를 반환합니다. ( 리스트 = [(1,3), (1,4), (2,3), (2,1), (3,1), (3,4)] )
예1) [ (x,y) for x in [1,2,3] for y in [3,1,4] if x!=y ]
예2)
combs = []
for x in [1,2,3] :
for y in [3,1,4] :
if x!=y:
combs.append((x,y))
- 리스트 컴프리헨션은 중첩되어 사용할 수도 있습니다. 예3과 예4는 모두 같은 리스트를 반환합니다. ( 리스트 = [ [1,5,9], [2,6,10], [3,7,11], [4,8,12] ] )
matrix = [ [1,2,3,4], [5,6,7,8], [9,10,11,12] ]
예3) [[row[i] for row in matrix] for i in range(4)]
예4)
transponsed = []
for i in range(4):
transponsed.append([row[i] for row in matrix])
728x90
'프로그래밍 > Python' 카테고리의 다른 글
[Python] set을 활용한 집합 연산 (0) | 2024.05.02 |
---|---|
Python 정렬 기초 (0) | 2024.01.15 |
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크