취미가 좋다

Python 면접 대비 본문

Computer Science

Python 면접 대비

benlee73 2021. 10. 13. 21:09

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