일반 파이썬에서는 append() 메서드를 사용해 리스트 끝에 항목을 추가할 수 있습니다. 하지만 NumPy에서는 이 메서드를 사용할 수 없습니다. 파이썬의 append() 메서드로 NumPy 배열 끝에 항목을 추가하려고 하면 AttributeError: numpy.ndarray object has no attribute append 오류가 발생합니다. 이 글에서는 해당 NumPy 오류의 원인과 해결 방법을 예제와 함께 자세히 살펴보겠습니다. AttributeError: numpy.ndarray object has no attr
Python에서 리스트가 비어 있는지 확인하는 방법은 여러 가지가 있습니다. 그중에서도 이 글에서 가장 먼저 소개할 if not list처럼 리스트의 참/거짓 값을 활용하는 방식이 가장 파이썬다운(Pythonic) 방법으로 꼽히며, 파이썬 개발자들이 가장 많이 권장하는 방식입니다. 이 외에 소개할 다른 방법들도 문법적으로는 올바르게 동작하지만, 좋은 코드 스타일로는 여겨지지 않습니다. 이 글에서는 Python에서 리스트가 비어 있는지 확인하는 다양한 방법을 살펴보겠습니다. 리스트 값의 참(True)/거짓(False) 여부 확인
파이썬에서 KeyError는 딕셔너리에 존재하지 않는 항목(키)에 접근하려 할 때 발생하는 오류입니다. 실제로 존재하는 키를 조회하도록 코드를 수정하거나, 키의 존재 여부를 미리 확인하는 방식으로 손쉽게 해결할 수 있습니다. 파이썬 KeyError란? 갑자기 KeyError 메시지를 마주하고 당황하셨나요? 걱정하지 마세요. KeyError는 단순히 현재 접근하려는 키가 딕셔너리 안에 없다는 뜻일 뿐입니다. 원인과 해결 방법만 알면 누구나 쉽게 처리할 수 있습니다. KeyError는 주로 다음 세 가지 방법으로 처리할 수 있습니
파이썬 퀵정렬(QuickSort)은 피벗(pivot) 요소를 하나 선택하고, 배열의 요소들을 두 개의 새로운 배열로 분할하는 정렬 알고리즘입니다. 피벗보다 큰 숫자는 한쪽 배열로, 피벗보다 작은 숫자는 다른 쪽 배열로 이동합니다. 각 배열을 정렬한 후 모든 배열을 하나로 병합하여 최종 결과를 얻습니다. 파이썬 퀵정렬 구현하기 프로그래밍에서 리스트를 정렬할 때 사용할 수 있는 알고리즘은 매우 다양합니다. 삽입 정렬(insertion sort), 버블 정렬(bubble sort) 등 여러 종류가 있으며, 그중 퀵정렬(QuickSor
Python에서는 함수가 여러 값을 한 번에 반환할 수 있습니다. 값을 딕셔너리(dictionary), 튜플(tuple), 리스트(list)에 담아 반환하거나, 쉼표(,)로 구분된 형태로 그대로 돌려줄 수도 있습니다. 이러한 자료형들은 여러 개의 값을 하나의 객체에 저장할 수 있게 해주며, 메인 프로그램에서 개별 값을 꺼내 사용할 수 있습니다. 이 글에서는 Python 함수에서 여러 값을 반환하는 다양한 방법을 실제 예제와 함께 자세히 살펴보겠습니다. Python에서 여러 값 반환하는 방법 Python 함수에서 여러 값을 반환
Python에서는 replace() 또는 translate() 메서드를 사용해 문자열에서 특정 문자를 제거할 수 있습니다. 두 메서드 모두 지정한 값으로 문자나 문자열을 대체하며, 빈 문자열()을 지정하면 선택한 문자가 별도의 대체 없이 그대로 제거됩니다. Python 문자열에서 문자 제거하기 문자열이 항상 우리가 원하는 값만 담고 있는 것은 아닙니다. 사용자가 입력 필드에 원치 않는 기호를 넣을 수도 있고, 문자열에서 특정 문자를 모두 삭제해야 하는 경우도 생깁니다. 어떤 문자를 제거하고 싶든, Python이라면 걱정할 필요
Python의 abs() 함수는 숫자의 절대값(absolute value)을 반환합니다. 절대값이란 그 수가 0으로부터 얼마나 떨어져 있는지를 나타내는 값으로, 음수는 양수로 바뀌고 양수는 그대로 유지됩니다. 예를 들어 abs(-9)는 9를 반환하고, abs(2)는 2를 반환합니다. Python에서의 절대값 개념 이해하기 수학에서 절대값은 수직선 위에서 어떤 수가 0으로부터 떨어진 거리를 의미합니다. 수가 양수든 음수든 상관없이, 절대값은 항상 양수가 됩니다. 예를 들어 5의 절대값은 5이고, -5의 절대값 역시 5입니다. 두 수
리스트 평탄화(flattening)란 리스트에서 차원을 하나 제거하는 과정을 말합니다. 여기서 차원이란 리스트 안의 특정 요소에 접근하기 위해 필요한 추가 좌표를 의미합니다. Python에서는 리스트 컴프리헨션(list comprehension), 중첩 for 루프, itertools.chain() 메서드 세 가지 방법으로 리스트를 평탄화할 수 있습니다. Python 리스트는 여러 개의 차원을 가질 수 있습니다. 즉, 리스트 안에 또 다른 리스트가 들어 있는 구조입니다. 이러한 리스트를 흔히 중첩 리스트(nested list)라고
문자열(String)은 파이썬에서 가장 널리 사용되는 데이터 유형 중 하나입니다. 높은 수준에서 보면, 문자열은 문자의 시퀀스로 구성된 객체입니다. 문자는 기호 하나하나를 의미하며, 예를 들어 영어 알파벳은 26개의 문자로 이루어져 있습니다. 파이썬 문자열은 생성과 조작이 매우 직관적입니다. 지금 바로 문자열 다루는 법을 배워보세요. 이 글에서는 파이썬 문자열의 개념, 작동 원리, 그리고 자주 쓰이는 연산들을 자세히 다룹니다. 파이썬에서 문자열이란? 파이썬에서 문자열을 만들려면 문자들을 따옴표로 감싸기만 하면 됩니다. 작은따옴
파이썬(Python)의 not 키워드는 값이 False이면 True를 반환하고, 값이 True이면 False를 반환합니다. 즉, 불리언(Boolean) 값을 뒤집는 역할을 하며, if 문과 함께 사용해 특정 값이 리스트에 없는지 확인하는 등 다양한 용도로 활용할 수 있습니다. 어떤 값이 리스트에 없는지 어떻게 확인할까?, 조건이 충족되지 않았을 때는 어떻게 판별할까? 이런 질문에 대한 답은 바로 한 단어, not 키워드에 있습니다. not 키워드는 불리언 값을 반전시킵니다. 불리언은 True 또는 False 두 가지 값만 가질
파이썬의 os.rename() 메서드는 파일의 이름을 변경합니다. 이 메서드는 두 개의 인자를 받습니다. 하나는 기존 파일의 경로이고, 다른 하나는 새 파일의 경로입니다. 새 파일 경로는 반드시 다른 파일 이름으로 끝나야 합니다. 파이썬에서 파일 이름을 변경해야 하는 이유 파이썬으로 파일을 다루다 보면 특정 파일의 이름을 바꿔야 하는 경우가 자주 생깁니다. 예를 들어 raw_data.csv라는 파일이 있고, 프로그램이 실행된 후 이 파일을 old_data.csv로 바꾸고 싶다고 가정해 봅시다. 바로 이럴 때 os.rename()
핵심 요약: Python의 os.mkdir() 메서드는 파일 시스템에 빈 디렉터리 하나를 생성합니다. 단, 상위 폴더가 존재하지 않으면 사용할 수 없습니다. 반면 os.makedirs() 메서드는 존재하지 않는 상위 폴더까지 재귀적으로 한 번에 생성해 줍니다. 파일을 활용하면 프로그램 외부에 데이터를 저장하고, 나중에 프로그램에서 다시 참조할 수 있습니다. 파일을 다루다 보면 새로운 데이터를 저장할 전용 디렉터리를 만들어야 하는 경우가 자주 생깁니다. 이럴 때 바로 Python의 os 모듈이 유용합니다. os 모듈에는 디렉터리를
파이썬 선택 정렬은 하나의 리스트를 두 개의 부분 리스트로 나누는 방식으로 작동합니다. 하나는 정렬된 요소들을 담은 리스트이고, 다른 하나는 아직 정렬되지 않은 요소들을 담은 리스트입니다. 선택 정렬은 매 반복마다 가장 작은 값(또는 가장 큰 값)을 찾아 정렬된 리스트 쪽으로 옮깁니다. 리스트 정렬은 다양한 프로그램에서 자주 사용되는 기본적인 연산입니다. 예를 들어 보겠습니다. 어떤 선생님이 학생들의 최근 시험 성적을 분석하고 싶어 한다고 가정해 봅시다. 선생님은 학생들의 점수를 오름차순 또는 내림차순으로 정렬하면 최고 점수와
파이썬에서 리스트를 복사하려면 copy() 메서드, 슬라이싱(slicing), list() 함수, 리스트 컴프리헨션(list comprehension)을 사용할 수 있습니다. 그중 copy() 메서드가 가장 직관적이고 간단한 방법입니다. 파이썬으로 작업하다 보면 기존 리스트의 복사본이 필요한 상황이 자주 발생합니다. 예를 들어, 작년 학생 명단을 바탕으로 새 학기 명단을 생성하는 프로그램을 만든다면, 원본 명단은 그대로 보존한 채 새로운 리스트를 만들어야겠죠. 파이썬에서 리스트를 복사하는 4가지 방법 파이썬에서 리스트를 복사하
파이썬 삽입 정렬은 게임 카드를 정리하는 것과 비슷하게 동작합니다. 삽입 정렬을 사용하려면 정렬된 리스트와 정렬되지 않은 리스트 두 개를 만들고, 정렬되지 않은 리스트의 각 항목을 올바른 위치에 배치될 때까지 비교합니다. 삽입 정렬은 파이썬에서 널리 사용되는 기본 알고리즘 중 하나입니다. 손에 든 카드를 정렬해 본 적이 있나요? 그것이 바로 파이썬 삽입 정렬의 개념을 이해하는 가장 좋은 비유입니다. 요소가 몇 개 되지 않는 리스트를 정렬할 때 삽입 정렬은 아주 유용한 선택입니다. 삽입 정렬은 배열에서 매 반복마다 정렬되지 않은
파이썬에서 숫자의 거듭제곱을 계산하는 방법은 크게 두 가지입니다. 바로 ** 연산자와 내장 함수인 pow()를 활용하는 것인데요. ** 연산자는 왼쪽의 숫자를 오른쪽 숫자만큼 거듭제곱하고, pow() 함수는 첫 번째 매개변수를 두 번째 매개변수만큼 거듭제곱합니다.파이썬 거듭제곱(Power)이란?거듭제곱 계산은 프로그래밍에서 자주 쓰이는 기본 수학 연산입니다. 예를 들어, 초등학교 6학년 학생들이 거듭제곱 개념을 복습할 수 있도록 도와주는 프로그램을 만든다면 거듭제곱 계산 기능이 반드시 필요하겠죠.파이썬에서는 ** 연산자와 pow()
파이썬 f-string은 문자열 안에 표현식을 직접 삽입할 수 있게 해주는 강력한 기능입니다. 표현식에는 변수 값, 수학 계산 결과, 또는 다른 파이썬 값이 들어갈 수 있습니다. f-string은 일반 문자열 앞에 f를 붙인다는 점에서 쉽게 구별할 수 있습니다. 파이썬에서 문자열을 작성하다 보면 문자열의 일부를 특정 값으로 바꿔야 하는 경우가 자주 생깁니다. 예를 들어, 사용자가 콘솔에 입력한 값을 문자열에 포함해 출력하고 싶을 수 있습니다. 파이썬은 오랫동안 여러 가지 문자열 포매팅 방식을 지원해 왔으며, Python 3.
Python 우선순위 큐(Priority Queue)란?Python의 우선순위 큐(priority queue)는 데이터를 특정한 순서에 따라 저장하는 자료구조입니다. 일반적인 큐가 먼저 들어온 데이터를 먼저 처리한다면(FIFO), 우선순위 큐는 각 요소의 우선순위에 따라 처리 순서가 결정됩니다.예를 들어, 리스트에서 가장 큰 값이 항상 앞에 오고 가장 작은 값이 마지막에 오도록 데이터를 정렬하고 싶은 경우가 있을 수 있습니다. 바로 이럴 때 우선순위 큐가 유용합니다. 우선순위 큐는 키 값 기준으로 오름차순 정렬된 상태를 유지하기 때
파이썬의 try…except 문은 예외(exception)를 처리하는 구문입니다. try 블록 안에 작성된 코드를 실행하며 오류가 있는지 검사하고, 오류가 발생하면 except 블록의 코드가 실행됩니다. 파이썬에서 try와 except 사용 방법 프로그램을 개발하다 보면 특정 코드 블록이 정상적으로 동작하는지 확인한 후 나머지 프로그램을 실행하고 싶을 때가 있습니다. 예를 들어 대규모 신규 코드를 작성했다면, 전체 프로그램을 실행하기 전에 해당 코드가 제대로 작동하는지 먼저 검증해야 합니다. try…except 블록을 사용하면 코
파이썬의 find() 메서드는 하나의 문자열 안에서 특정 문자열이 처음 등장하는 인덱스 위치를 찾아줍니다. 값을 찾지 못하면 -1을 반환하고, 찾으면 해당 값이 시작되는 인덱스 위치를 반환합니다.문자열에서 부분 문자열(substring)을 찾는 것은 파이썬에서 매우 흔한 작업입니다. 예를 들어 좋아하는 책 제목 목록이 담긴 문자열이 있다면, 그 목록에서 특정 책을 찾고 해당 책이 나타나는 위치를 알고 싶을 수 있습니다.바로 이럴 때 파이썬 문자열 find() 메서드가 유용합니다. find() 메서드를 사용하면 문자열 내에서 부분 문