파이썬에서 주어진 범위 안에 속하는 요소들만 포함하는 튜플을 추출해야 할 때, filter와 lambda 메서드를 활용하면 간결하고 효율적으로 처리할 수 있습니다.예제아래는 이를 구현한 예제 코드입니다 −my_list = [(13, 15, 17), (25, 56), (13, 21, 19 ), (44, 14)] print("The list is :") print(my_list) beg, end = 13, 22 my_result = list(filter(lambda sub : all(element &g
파이썬에서 정수만 포함된 튜플을 걸러내야 할 때는 간단한 반복문과 not 연산자, 그리고 isinstance 메서드를 활용하면 손쉽게 해결할 수 있습니다.예제 코드다음은 이를 구현한 예제입니다:my_tuple = [(14, 25, Python), (5, 6), (3, ), (cool, )] print(The tuple is :) print(my_tuple) my_result = [] for sub in my_tuple: temp = True for element in sub: if not isinstanc
리스트 안에 있는 두 요소(x, y) 중 서로 가장 가까운 위치를 찾아야 할 때가 있습니다. 이럴 때는 세 개의 매개변수를 받는 함수를 정의하고, not in 연산자와 리스트 컴프리헨션(list comprehension)을 활용하면 간단하게 결과를 구할 수 있습니다.아래에서 실제 동작 과정을 살펴보겠습니다.예제 코드def nearest_occurence_list(my_list, x, y): if x not in my_list or y not in my_list: &nb
리스트에서 교차 패턴 쌍(cross pattern pairs)을 구해야 할 때는 리스트 컴프리헨션(list comprehension)과 * 연산자를 활용하면 간단하게 해결할 수 있습니다. 이 방법은 두 리스트의 모든 요소 조합에 대해 곱셈을 수행하여 새로운 리스트를 생성합니다.예제 코드my_list_1 = [14, 35, 26] my_list_2 = [36, 24, 12] print(첫 번째 리스트는 :) print(my_list_1) print(두 번째 리스트는 :) print(my_list_2) result = [i * j
Python에서 여러 개의 딕셔너리가 담긴 리스트를 크기(키-값 쌍의 개수) 기준으로 정렬해야 할 때가 있습니다. 이럴 때는 요소 하나를 매개변수로 받아 len() 함수로 그 길이를 반환하는 헬퍼 함수를 정의한 뒤, sort() 메서드의 key 인자로 지정하면 간단하게 해결할 수 있습니다.아래 예제를 통해 실제 동작 방식을 확인해 보겠습니다.예제 코드def get_len(element): return len(element) my_dict = [{24: 56, 29: 11, 10: 22, 42: 28}, {54: 73, 59
리스트에서 모든 자릿수가 동일한 숫자, 즉 모노 디지트(mono-digit) 요소를 추출해야 하는 경우가 있습니다. 이럴 때 리스트 컴프리헨션(list comprehension)과 all() 연산자를 함께 사용하면 간결하고 효율적으로 처리할 수 있습니다.아래 예제를 통해 실제 구현 방법을 살펴보겠습니다.예제 코드my_list = [863, 1, 463, pyt, 782, 241, is, 639, 4, fun] print(원본 리스트 :) print(my_list) my_result = [index for index in my_l
개요파이썬에서 특정 키가 가진 각 값이 몇 번 나타나는지(발생 횟수) 확인해야 할 때가 있습니다. 이럴 때는 리스트 컴프리헨션(list comprehension)과 람다(lambda) 함수, 그리고 itertools의 groupby를 함께 사용하면 간결하게 해결할 수 있습니다.아래 예제를 통해 실제 구현 방법을 살펴보겠습니다.예제 코드from itertools import groupby my_dict = [{pyt : 13, fun : 44}, {pyt : 63, best : 15},{pyt : 24, fun : 34}, {pyt
개요딕셔너리에 저장된 리스트 값들 중에서 최댓값과 최솟값의 차이, 즉 범위(range)가 가장 넓은 키를 찾아 출력해야 하는 경우가 있습니다. 이럴 때는 외부 라이브러리 없이 간단한 반복문만으로 손쉽게 해결할 수 있습니다.예제 코드다음은 그 구현 방법을 보여주는 예제입니다 −my_dict = {"pyt" : [26, 12, 34, 21], "fun" : [41, 27,43, 53, 18], "learning" : [21, 30, 29, 13]}print("Th
행렬을 각 행의 최댓값을 기준으로 정렬해야 하는 경우가 있습니다. 이럴 때는 하나의 매개변수를 받는 함수를 정의하고, 내장 함수 max()를 활용하여 기준값을 반환하면 됩니다.예제 코드아래 예제를 통해 실제 동작 방식을 확인할 수 있습니다.def sort_max(row): return max(row) my_list = [[15, 27, 18], [39, 20, 13], [13, 15, 56], [43, 13, 25]] print(The list is :) print(my_list) my_list.sort(key=sort
리스트 안에 숫자가 포함된 행(하위 리스트)을 제거해야 하는 경우, 리스트 컴프리헨션(list comprehension)과 함께 not 연산자 및 any 함수를 활용하면 간단하게 처리할 수 있습니다.예제아래는 실제 동작 예시입니다.my_list = [[14, Pyt, fun], [Pyt, is, best], [23, 51], [Pyt, fun]] print(원본 리스트 :) print(my_list) my_result = [index for index in my_list if not any(isinstance(element, i
리스트의 요소들을 일의 자릿수를 기준으로 정렬해야 하는 경우가 있습니다. 이럴 때는 하나의 매개변수를 받는 함수를 정의하고, str() 변환과 음수 인덱싱(negative indexing)을 활용하여 일의 자릿수 값을 추출하는 방식으로 해결할 수 있습니다.예제 코드다음은 리스트를 일의 자릿수 기준으로 정렬하는 전체 예제입니다.def unit_sort(element): return str(element)[-1] my_list = [716, 134, 343, 24742] print(The list is :) print(my_
리스트의 각 요소에 대해 인접한 요소(앞뒤 요소)를 확인해야 하는 경우, enumerate와 간단한 반복문을 활용한 메서드를 정의하여 손쉽게 결과를 얻을 수 있습니다.예제다음은 리스트의 인접 요소를 찾는 방법을 보여주는 예제입니다.def find_adjacent_elements(my_list): my_result = [] for index, ele in enumerate(my_list): if index == 0: my_result.append((None, my_list[index
파이썬에서 튜플 내부 요소들의 곱(product)이 특정 값 K보다 큰 튜플만 걸러내야 하는 상황이라면, 리스트 컴프리헨션(list comprehension)을 활용하면 가장 간결하고 파이썬다운 방식으로 해결할 수 있습니다. 이 글에서는 예제 코드와 함께 그 동작 원리를 단계별로 살펴봅니다.예제 코드아래는 튜플의 곱이 K보다 큰지 판별하여 필터링하는 전체 예제입니다.def tuples_product(index): my_result = 1 for element in index:  
리스트의 N번째 인덱스마다 다른 리스트의 요소를 삽입해야 하는 경우, 간단한 반복문과 enumerate 함수를 조합하면 손쉽게 구현할 수 있습니다. 이 기법은 데이터에 주기적으로 구분자를 넣거나 특정 간격으로 값을 끼워 넣어야 할 때 유용하게 활용됩니다. 예제 다음은 실제 동작을 보여주는 예제 코드입니다. my_list = [13, 27, 48, 12, 21, 45, 28, 19, 63] print(The list is :) print(my_list) append_list = [P, Y, T] N = 3 print(The va
리스트에서 서로의 차이가 K보다 작은 인접 요소들을 제거해야 하는 경우, 간단한 반복문과 if 조건문을 활용하면 손쉽게 해결할 수 있습니다.핵심 아이디어는 먼저 리스트를 오름차순으로 정렬한 뒤, 인접한 두 요소의 차이를 순차적으로 검사하는 것입니다. 차이가 K 미만이라면 해당 요소를 삭제하고, 그렇지 않다면 다음 요소로 인덱스를 이동합니다.예제 코드아래는 전체 구현 예시입니다.my_list = [13, 29, 24, 18, 40, 15] print(The list is :) print(my_list) K = 3 my_list
주어진 순서대로 문자열을 연결해야 할 때는 간단한 반복(iteration)을 활용하면 됩니다. 이 글에서는 인덱스 순서를 담은 리스트를 기준으로 문자열 리스트의 요소들을 원하는 순서대로 이어 붙이는 방법을 소개합니다.예제다음은 실제 구현 예시입니다.my_list = ["pyt", "fun", "for", "learning"] print("The list is :") print(my_list) sort_order = [1, 0, 3, 2]
첫 번째 열의 요소를 기준으로 행렬(중첩 리스트)을 병합해야 하는 경우, 간단한 반복문과 리스트 컴프리헨션(list comprehension), 그리고 딕셔너리의 setdefault 메서드를 활용하면 손쉽게 해결할 수 있습니다.예제다음은 이를 구현한 예제 코드입니다.my_list = [[41, python], [13, pyt], [41, is],[4, always], [3, fun]] print(The list is :) print(my_list) my_result = {} for key, value in my_list:
리스트 안에 리스트가 중첩된 형태의 매트릭스(행렬)에서 특정 문자열 K가 포함된 행을 찾아야 하는 경우가 종종 있습니다. 이럴 때 파이썬의 내장 함수인 enumerate()와 간단한 반복문, 그리고 리스트 메서드 append()를 조합하면 손쉽게 해결할 수 있습니다.예제 코드아래 예제는 매트릭스 내에서 문자열 Pyt를 포함하는 행의 인덱스를 찾는 과정을 보여줍니다.my_list = [[Pyt, fun, python], [python, rock],[Pyt, for, CS], [Keep, learning]] print(The list
파이썬에서 문자열 목록 중 알파벳 순으로 정렬된 문자열만 골라내야 하는 경우가 있습니다. 이럴 때는 리스트 컴프리헨션(list comprehension)과 내장 함수 sorted()를 함께 사용하면 간단하게 해결할 수 있습니다.예제 코드아래는 정렬된 문자열을 추출하는 방법을 보여주는 예제입니다.my_list = [pyt, Fdf, Fun] print(The list is :) print(my_list) my_result = [element for element in my_list if .join(sorted(element)) =
리스트에 임의 범위의 난수를 생성해야 하는 경우, 리스트 컴프리헨션(list comprehension)과 random 패키지에 포함된 randrange() 메서드를 함께 사용하면 간단하게 해결할 수 있습니다.예제아래는 실제 구현 예시입니다.import random my_result = [random.randrange(1, 100, 1) for i in range(10)] print(결과는 다음과 같습니다:) print(my_result)출력결과는 다음과 같습니다: [40, 73, 58, 45, 68, 19, 86, 6, 15,