본문 바로가기

전체 글21

List 가 비어있는지 확인하기 파이썬 코딩을 하면서, List가 비어있는지 확인하는 코드를 무심결에 'list == False' 형식으로 적었다가 에러가 발생했다. 리스트가 비어있는지의 여부를 올바르게 확인하는 방법을 정리해 보자. 우선, 아래는 실수하기 쉬운, 잘못된 코드들의 예시이다. list_empty = [] if list_empty == None: # 리스트는 'None'이라는 객체와 동일하지 않다. print('empty') if list_empty == False: # 리스트의 bool 값이 False인 것이지, list가 False와 같은 것이 아니다. print('empty') if list_empty is False: # 위와 동일. 메모리 주소까지 같냐고 묻는 것이므로 더더욱 말이 안 된다. print('empty.. 2021. 1. 27.
Comprehension (List, Set, Dict) 이번 포스팅에서 설명할 개념은 바로 Comprehension 입니다. Comprehension의 사전적인 뜻은 '이해' 입니다만... 그렇게 이해하는 것보다는 그저 iterable을 효율적으로 표현하는 방법이라고 생각하면 됩니다. Comprehension을 이용하여 표현하면 해당 iterable에 대해 더 직관적으로 표현할 수 있으므로 '이해' 라는 정의에 부합한다고 할 수도 있겠습니다 :) 목차 1. List Comprehension 2. Set Comprehension 3. Dict Comprehension 1. List Comprehension Comprehension은 여러 iterable들에 대해 공통적으로 적용이 가능하지만, 일반적으로는 List를 표현할 때 사용합니다. 그러한 의미에서 Lis.. 2021. 1. 24.
Lambda Function (람다 함수) 람다 함수는 익명 함수를 말합니다. 익명 함수를 사용하는 이유는, 함수의 기능이 간단한 경우에 해당 함수를 간결한 코드만으로 사용하기 위함이며, 특히 함수에서 인자로 함수를 요구할 때 많이 사용됩니다. 먼저 기본적인 형태를 살펴보겠습니다. int_ex = 10 f = lambda x : x * 2 # lambda 입력 : 출력 의 형태. x를 입력받으면, x * 2를 리턴한다. print(f(int_ex)) # 20 람다 함수는 위와 같이 lambda 입력 : 출력 의 형태로 작성하며, 함수의 이름을 따로 설정하지 않아도 된다는 특징이 있습니다. (위 코드의 f = lambda 부분의 f는 함수의 이름이 아니라, 람다 함수를 변수명을 통해 넘긴 것일 뿐입니다) 이번에는 람다 함수가 유용하게 사용되는 경우.. 2021. 1. 24.
Sorted 함수 sorted함수는 iterable한 객체를 정렬하는 함수입니다. 내부적으로는 팀 소트 (Tim sort) 라는 알고리즘을 사용하는데, 여기서는 팀 소트의 원리보다는 sorted 함수의 활용을 중심으로 알아보겠습니다. 목차 1. Sorted 기본 2. Reverse 옵션 3. Key 옵션 sorted의 reference는 다음과 같습니다. sorted(iterable[, cmp[, key[, reverse]]]) # cmp는 3.0부터 삭제 따라서 iterable을 필요로 하며, key와 reverse 옵션을 사용할 수 있습니다. 1. Sorted 기본 sorted 함수는 iterable을 매개변수로 받으며, 해당 변수를 정렬된 상태로 리턴합니다. list_ex = [1,3,4,2,5,6,3] list_s.. 2021. 1. 23.
# 00. 카테고리 소개 이 카테고리는 제가 파이썬 프로그래밍을 하면서 궁금하거나 새로 알게 된 점을 그때그때 정리하는 공간입니다. 저도 프로그래밍 전문가가 아닌 그저 학생이기 때문에, 정확하고 자세한 내용을 기록하는 것 보다는 제가 공부한 내용을 아는 선에서 다시 풀어 쓰는 방식으로 포스팅할 예정입니다. 다만 파이썬을 처음부터 공부하고 있는 것이 아니기 때문에, 포스팅의 순서는 난이도 순이거나 개념 순서가 아닙니다. 그저 그때그때 공부하고 싶은 주제, 공부하게 된 주제를 기록하는 것일 뿐입니다. 글의 내용에 대한 지적이나 의견은 언제든지 환영입니다! 2021. 1. 23.