취미가 좋다
Python 면접 대비 본문
List vs Tuple vs Array
List | Tuple | Array | |
요소를 생성, 삭제, 수정 가능 | O | X | O |
선언 | [ ] | ( ) | import array |
요소의 데이터 타입 | 여러가지 가능 | 여러가지 가능 | 하나의 타입만 가능 |
공통점 | 요소의 순서가 있고 index로 접근할 수 있다. | ||
특징 | 스택, 큐를 구현할 때 자주 새용된다. | - | 요소들이 메모리의 연속된 위치에 존재한다. |
lambda
: 함수의 형태를 더 짧게 표현한 문법
- 람다 함수에는 이름이 없다.
- 복잡하면 이해하거나 사용하기 어렵기 때문에 간단한 식만 사용한다.
- map() 함수와 많이 사용된다.
- map() 함수는 인자로 함수를 받는다.
- 두 번째 인자로 받은 데이터(리스트 등)의 요소에 함수를 적용하여 반환한다.
- lambda 매개변수 : 반환되는 값
add = lambda x,y : x+y
add(1,2) # 3
Iterator
반복가능한(iterable) 객체 list, tuple 등을 반복하며 요소를 반환한다.
Generator
함수를 사용하여 이터레이터를 생성한다.
yield의 값을 반환하며 함수 밖으로 이동하고, 이후에 함수가 다시 실행될 때 yield부터 다시 시작한다.
얕은 복사 copy.copy()
원본 객체를 가리키는 참조로 새로운 객체를 만든다.
두 객체는 서로 다른 id를 가지지만 객체 안의 요소는 같은 id를 가진다.
기본적으로 할당할 때 얕은 복사가 이루어진다.
깊은 복사 copy.deepcopy()
원본 객체의 사본을 만들어 새로운 객체를 만든다.
모든 것을 복사하여 너무 많은 것을 복사할 수도 있다.
'Computer Science' 카테고리의 다른 글
Red-black trees (0) | 2021.08.31 |
---|---|
객체지향 프로그래밍 OOP (0) | 2021.08.30 |
Comments