티스토리 뷰

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
링크