이 글에서는 하나의 리스트와 문자열이 주어졌을 때, 해당 문자열이 리스트의 요소로 몇 번 나타나는지 확인하는 방법을 알아봅니다. 파이썬에서는 이를 위해 여러 가지 간단한 방법을 사용할 수 있으며, 대표적으로 collections 모듈의 Counter와 리스트의 count() 메서드가 있습니다.Counter를 사용하는 방법collections 모듈의 Counter 함수는 리스트에 포함된 각 요소의 개수를 딕셔너리 형태로 반환합니다. 이 결과에서 원하는 요소를 키로 지정하면 해당 요소가 리스트에 등장한 횟수를 바로 얻을 수 있습니다.예
이 글에서는 Python 리스트에서 원하는 조건을 만족하는 요소만 골라내고, 해당 요소가 몇 개인지 그 개수를 구하는 다양한 방법을 소개합니다. 예를 들어 리스트 안에서 Mon과 Wed처럼 특정 값에 해당하는 항목이 몇 번 등장하는지 확인해야 하는 상황을 생각해 볼 수 있습니다. 조건을 정의하고, 그 조건을 충족하는 요소만 선택하여 개수를 출력하는 것이 핵심입니다.1. in 연산자와 sum() 함수 사용하기가장 직관적인 방법은 in 연산자로 조건을 검사하고, sum() 함수로 결과를 집계하는 것입니다. 제너레이터 표현식 내부에서 요
두 개의 문자열이 주어졌을 때, 첫 번째 문자열에 포함된 문자 중 두 번째 문자열에도 존재하는 문자의 개수를 구해야 하는 경우가 있습니다. 이 글에서는 Python으로 이 문제를 해결하는 두 가지 대표적인 방법을 예제 코드와 함께 소개합니다.set() 함수 활용하기set() 함수는 문자열에서 고유한 문자들만 추출하여 집합을 만들어 줍니다. 여기에 & 연산자(교집합 연산자)를 사용하면 두 문자열에 공통으로 존재하는 문자들을 손쉽게 찾을 수 있습니다. 이 방법은 중복을 제거한 고유 문자 기준으로 개수를 계산합니다.예제strA =
리스트의 요소 중 일부는 다른 변수에 담긴 특정 문자열과 일치하거나 그 문자열을 포함하고 있을 수 있습니다. 이 글에서는 파이썬에서 주어진 리스트 안에 특정 문자열이 몇 번 등장하는지 세는 다양한 방법을 소개합니다.1. range와 len 함수 활용하기가장 기본적인 방법은 range()와 len() 함수를 조합해 리스트의 각 요소를 순회하는 것입니다. 반복문 안에서 in 연산자로 해당 문자열이 요소에 포함되어 있는지 확인하고, 조건이 참일 때마다 미리 0으로 초기화해 둔 카운트 변수를 1씩 증가시킵니다.예제 코드Alist = [Mo
파이썬에서는 리스트의 요소로 튜플을 자유롭게 사용할 수 있습니다. 이 글에서는 리스트에 포함된 각 튜플이 몇 번 나타나는지, 즉 고유한 튜플의 발생 횟수를 계산하는 두 가지 대표적인 방법을 소개합니다.1. defaultdict 활용하기collections 모듈의 defaultdict를 사용하면 주어진 리스트를 데이터 컨테이너처럼 다루면서 각 튜플의 등장 횟수를 손쉽게 셀 수 있습니다. defaultdict(int)는 존재하지 않는 키에 접근할 때 자동으로 기본값 0을 생성해 주기 때문에, 별도의 초기화 과정 없이 바로 카운트를 누적
Python 프로그래밍에서는 리스트 안에 여러 개의 하위 리스트(sublist)가 포함된 중첩 리스트 구조를 다루는 경우가 많습니다. 이럴 때 각 하위 리스트에서 최댓값을 추출해야 하는 상황이 자주 발생합니다. 이 글에서는 이를 해결하는 대표적인 두 가지 방법을 예제 코드와 함께 살펴보겠습니다.방법 1: max 함수와 리스트 컴프리헨션 활용가장 직관적인 방법은 for 반복문과 in 조건을 사용해 각 하위 리스트를 순회하면서 max() 함수를 적용하는 것입니다. 리스트 컴프리헨션(list comprehension)을 사용하면 한 줄로
2차원 리스트(2D List)는 리스트를 요소로 가지는, 즉 리스트 안의 리스트 형태의 자료구조입니다. 이 글에서는 이렇게 중첩된 여러 하위 리스트 속에서 가장 자주 등장하는 요소(최빈값)를 찾는 세 가지 방법을 살펴봅니다.1. max 함수와 count 함수 활용리스트 컴프리헨션(list comprehension)으로 2차원 리스트를 1차원으로 평탄화한 뒤, max 함수의 key 인자에 count 함수를 지정하여 등장 횟수가 가장 많은 요소를 반환합니다. 별도의 모듈 임포트 없이 가장 간단하게 구현할 수 있는 방법입니다.예제 코드d
이 글에서는 Python으로 주어진 리스트에서 가장 자주 나타나는 요소, 즉 최빈값(mode)을 찾는 다양한 방법을 살펴봅니다. 각 방법은 장단점이 있으므로 상황에 맞게 선택하여 사용하면 됩니다.1. max()와 count() 조합하기먼저 set() 함수를 사용해 리스트에서 중복을 제거한 고유한 요소들을 추출합니다. 그런 다음 max() 함수에 key 인자로 list.count를 전달하면, 각 고유 요소가 리스트에 등장하는 횟수를 기준으로 가장 빈도가 높은 요소를 구할 수 있습니다.예제# 주어진 리스트 listA = [45, 20,
리스트를 다루다 보면 특정 문자로 시작하는 요소만 골라내야 하는 경우가 자주 있습니다. 예를 들어 요일 데이터 중 T로 시작하는 Tue와 Thu만 추출하고 싶은 상황이 그렇습니다. 이번 글에서는 파이썬으로 리스트에서 특정 문자로 시작하는 요소를 찾는 두 가지 대표적인 방법을 예제 코드와 함께 살펴보겠습니다. 방법 1: 인덱스와 lower() 함수 활용 대소문자 구분 없이 비교하려면 lower() 함수를 사용해 첫 글자를 소문자로 변환한 뒤 비교하는 것이 좋습니다. 인덱스 [0]을 사용하면 각 요소의 첫 번째 문자에 접근할 수 있고
이 글에서는 주어진 리스트에서 홀수 번 등장하는 숫자를 찾는 방법을 알아봅니다. 여기서는 Python의 lambda 표현식과 reduce 함수를 반드시 활용해야 합니다. reduce 함수에 람다 표현식을 적용해 리스트의 모든 요소를 누적 처리하면, 짝수 번 등장한 요소는 서로 상쇄되고 홀수 번 등장한 요소만 최종적으로 남게 됩니다. XOR 연산의 원리 이 기법의 핵심은 배타적 논리합(XOR, ^) 연산입니다. XOR은 같은 값을 두 번 연산하면 0이 되고, 어떤 값과 0을 XOR하면 그 값 자신이 됩니다. 따라서 짝수 번 등장한 요
파이썬에서 리스트는 다른 리스트를 요소로 가질 수 있습니다. 이렇게 구성된 중첩 리스트(nested list) 안에서 최대값을 가진 하위 리스트를 찾아야 하는 경우가 종종 발생하는데요. 이 글에서는 max() 함수를 활용해 이 문제를 해결하는 두 가지 방법을 예제 코드와 함께 소개합니다. 1. max()와 lambda 함수 함께 사용하기 max() 함수의 key 인자에 lambda 표현식을 전달하면, 각 하위 리스트의 특정 요소를 기준으로 비교하여 최대값을 가진 하위 리스트를 손쉽게 구할 수 있습니다. 아래 예제에서는 각 하위 리
파이썬에서 리스트(List)는 튜플(Tuple)을 요소로 가질 수 있습니다. 이번 글에서는 리스트에 담긴 튜플들 중에서 Mon과 같은 특정 문자열을 포함하는 튜플을 찾아내는 두 가지 방법을 예제와 함께 살펴보겠습니다. 1. in 연산자와 조건문 활용 리스트 컴프리헨션(list comprehension) 안에서 in 조건 뒤에 하나의 조건 또는 여러 조건의 조합을 명시할 수 있습니다. 아래 예제에서는 첫 번째 요소가 검색값과 일치하고, 동시에 두 번째 요소가 2 이상인 튜플만 추출합니다. 이처럼 복합적인 조건 검사가 필요할 때 특히
튜플로 구성된 리스트가 있을 때, 그중에서 값이 큰 순서대로 상위 K개의 요소를 찾아야 하는 경우가 자주 있습니다. 예를 들어 K가 3이라면 리스트 안의 튜플들 중에서 상위 3개 요소를 추출하면 됩니다.이 글에서는 defaultdict를 활용하는 방법과 sorted + itemgetter를 활용하는 방법, 총 두 가지 접근 방식을 예제 코드와 함께 살펴보겠습니다.1. defaultdict 활용 방법collections 모듈의 defaultdict를 사용하면 튜플의 첫 번째 요소(요일)를 키로, 두 번째 요소(숫자)를 값으로 묶어 딕
이 글에서는 주어진 리스트에 포함된 모든 튜플의 길이가 서로 동일한지 확인하는 방법을 알아봅니다. 크게 두 가지 접근 방식을 소개하며, 각각 len() 함수 단독 사용과 all() 함수와의 조합을 활용합니다.1. len() 함수를 이용한 방법len() 함수로 각 튜플의 길이를 구한 뒤, 기준이 되는 값과 비교하는 가장 직관적인 방법입니다. 리스트를 반복문으로 순회하면서 튜플의 길이가 기준값과 일치하지 않으면 즉시 검사를 중단하고 결과를 반환합니다.예제 코드listA = [(Mon, 2 pm, Physics), (Tue, 11 am,
개요정수로 이루어진 리스트가 주어졌을 때, 각 요소의 상대적 순서(relative order)를 구해야 하는 경우가 있습니다. 여기서 상대적 순서란, 리스트를 오름차순으로 정렬했을 때 각 요소가 차지하게 될 인덱스 위치를 의미합니다.예를 들어 [78, 14, 0, 11]이라는 리스트가 있다면, 오름차순으로 정렬하면 [0, 11, 14, 78]이 되므로 각 요소의 상대적 순서는 [3, 2, 0, 1]이 됩니다. 이번 글에서는 이를 구현하는 두 가지 방법을 살펴보겠습니다.방법 1: sorted()와 index() 활용하기가장 직관적인
문자열로 이루어진 리스트가 주어졌을 때, 그중 첫 번째로 비어 있지 않은 요소를 찾아야 하는 경우가 자주 있습니다. 여기서 문제가 되는 부분은 리스트 맨 앞에 빈 문자열이 하나, 둘, 혹은 그 이상 존재할 수 있다는 점입니다. 따라서 빈 문자열의 개수와 상관없이 동적으로 첫 번째 유효한 문자열을 찾아내야 합니다.방법 1: next() 함수 활용next() 함수를 사용하면 현재 요소가 빈 값일 때 자동으로 다음 요소로 이동하면서 조건을 만족하는 첫 번째 값을 찾을 수 있습니다. 제너레이터 표현식과 함께 사용하면 매우 간결하고 파이썬다
이 글에서는 주어진 숫자 리스트에서 0이 아닌 첫 번째 숫자가 어디에 위치하는지 찾는 방법을 알아봅니다. 데이터 전처리나 유효성 검사 작업을 할 때 자주 필요한 기능으로, Python에서는 간결하고 효율적인 여러 가지 방법으로 구현할 수 있습니다.enumerate와 next 활용하기첫 번째 방법은 enumerate 함수를 사용해 리스트의 모든 요소를 인덱스와 함께 순회한 뒤, next 함수로 조건을 만족하는 첫 번째 요소를 가져오는 방식입니다. 제너레이터 표현식 내부에서 값이 0이 아닌 경우만 필터링하며, 만약 0이 아닌 숫자가 존
NumPy의 2차원(2D) 배열은 배열 안에 배열이 중첩된 구조입니다. 이 글에서는 이러한 다차원 배열을 평탄화하여 모든 요소를 하나의 1차원(1D) 배열로 만드는 방법을 소개합니다. flatten() 함수 사용하기 NumPy의 flatten() 함수는 2차원 배열을 1차원 배열로 변환하는 가장 직관적이고 간단한 방법입니다. 예제 import numpy as np array2D = np.array([[31, 12, 43], [21, 9, 16], [0, 9, 0]]) # 초기 배열 출력 print("Given array:\
파이썬에서는 리스트의 각 요소가 딕셔너리인 경우가 자주 있습니다. 여러 곳에서 수집한 데이터가 개별 딕셔너리 형태로 리스트에 담겨 있을 때, 이를 하나의 딕셔너리로 평탄화(flatten)하면 모든 키-값 쌍을 한 번에 다룰 수 있어 코드가 훨씬 깔끔해집니다.이번 글에서는 딕셔너리 리스트를 단일 딕셔너리로 병합하는 대표적인 세 가지 방법을 예제 코드와 함께 살펴보겠습니다. 1. for 반복문과 update() 사용 가장 기본적인 방법입니다. 빈 딕셔너리를 만든 뒤 리스트를 순회하면서 각 요소를 update() 메서드로 차례대로 추가합
튜플로 이루어진 리스트가 있을 때, 그중 최댓값을 가진 튜플을 찾아야 하는 경우가 자주 있습니다. 특히 여러 개의 튜플이 동일한 최댓값을 가질 경우에는 가장 먼저 등장하는 튜플을 선택해야 합니다. 이 글에서는 Python으로 이 문제를 해결하는 세 가지 방법을 예제 코드와 함께 살펴보겠습니다.1. itemgetter와 max() 활용하기operator 모듈의 itemgetter(1)를 사용하면 각 튜플의 인덱스 1 위치에 있는 값들을 기준으로 비교할 수 있습니다. 여기에 max() 함수를 적용하면 최댓값을 가진 항목을 얻을 수 있으