파이썬에서 자기란 무엇인가: 실제 사례
파이썬에서 자기란 무엇인가: 실제 사례
목록 및 기타 반복 가능한 객체로 작업하는 것은 Python 프로그래밍 에서 일반적인 작업입니다 . 때때로 현재 요소의 인덱스 또는 개수를 추적하면서 이러한 반복 가능 항목을 반복해야 할 수도 있습니다. 파이썬의 내장 enumerate() 함수가 구출되는 곳입니다.
Python의 enumerate() 함수는 목록이나 반복 가능한 객체를 반복할 때 항목의 인덱스와 항목 자체에 모두 액세스할 수 있는 편리한 방법을 제공합니다.
이 함수는 코드를 더 파이썬적이고 읽기 쉽고 효율적으로 만듭니다 . 요소를 반복하고 해당 인덱스와 값을 모두 검색할 수 있습니다. 루프 내에서 카운터를 수동으로 초기화하고 증가시키는 대신 enumerate()를 사용하여 작업을 수행할 수 있습니다.
이 기사에서는 Python의 내장 함수 enumerate() 함수, Python 코드에서의 중요성 및 사용 사례에 대해 알아봅니다.
그것에 들어가자!
목차
파이썬 열거 함수란 무엇입니까?
목록 데이터 구조로 작업 중이고 각 항목에 대해 작업을 수행하려고 하지만 목록에서 항목의 위치도 알아야 한다고 상상해 보십시오.
Python enumerate()가 없으면 루프 반복마다 증가시키는 카운터 변수를 사용하기로 결정할 수 있습니다. 그러나 이 접근 방식은 오류가 발생하기 쉬울 수 있으며 그다지 "파이썬적"이지 않습니다.
Enumerate는 Python의 내장 함수로, 현재 항목의 인덱스를 추적하면서 반복 가능한 객체를 반복할 수 있습니다.
이제 Python의 enumerate() 함수가 무엇인지 이해했으므로 다음 섹션에서 Python enumerate() 함수의 구문으로 이동하겠습니다!
파이썬 열거 함수의 구문은 무엇입니까?
함수의 구문은 인수와 반환 항목을 포함하여 코드에서 해당 함수를 사용하는 방법을 정의합니다.
enumerate () 함수는 다음 구문을 사용합니다.
enumerate(, start=0)
: 이것은 필수 매개변수이며 목록이나 튜플과 같은 Python 반복 가능 항목이 될 수 있습니다.
start : 이 두 번째 매개변수는 카운터의 시작 값을 지정하는 선택적 매개변수입니다. 기본적으로 0으로 설정됩니다.
enumerate () 함수의 반환 값은 주어진 iterable의 각 항목에 대해 (인덱스, 요소) 쌍을 갖는 반복자인 enumerate 객체입니다 .
for 루프 에서 이 반복자를 사용하여 인덱스와 항목에 동시에 액세스 할 수 있습니다 .
다음 예제는 목록과 함께 enumerate() 함수를 사용하는 방법을 보여줍니다.
fruits = ['apple', 'banana', 'cherry']
for index, item in enumerate(fruits):
print(index, item)
이 예에서 enumerate()는 enumerate 객체, 즉 과일 목록을 반복 하고 각 항목에 0부터 시작하는 인덱스를 할당합니다.
그런 다음 for 루프 는 열거된 개체에서 인덱스와 항목의 압축을 풉니다. 이를 통해 인덱스와 항목 값 모두를 기반으로 작업을 수행할 수 있습니다.
화면에 인덱스와 항목을 인쇄하기 위해 인쇄 기능을 사용하고 있습니다. 코드의 출력은 아래 이미지에 나와 있습니다.
출력에서 시작 인덱스가 0임을 알 수 있습니다. 이것은 Python 인터프리터가 자동으로 할당하는 인덱스의 기본값입니다.
그러나 아래 코드와 같이 선택적 시작 매개 변수를 제공하여 카운터에 대해 다른 시작 값을 지정할 수도 있습니다 .
for index, item in enumerate(fruits, start=1):
print(index, item)
출력은 위와 비슷할 것입니다. 유일한 차이점은 인덱스가 이제 1에서 시작한다는 것입니다.
이제 Python에서 enumerate() 함수의 구문을 다룰 수 있습니다. 그러나 모든 도구와 마찬가지로 언제 어디서 사용해야 하는지 아는 것이 중요합니다.
이것이 바로 다음 섹션에서 enumerate() 함수에 대한 몇 가지 일반적인 사용 사례를 살펴보는 이유입니다!
Python Enumerate 함수의 5가지 사용 사례
Python의 enumerate 함수는 반복 가능한 객체의 인덱스와 값이 모두 프로그래머에게 중요한 시나리오에서 광범위하게 사용됩니다.
아래 Python의 열거 함수에 대한 몇 가지 일반적인 사용 사례를 나열했습니다.
1. Python 목록과 함께 Enumerate를 사용하는 방법
Python에서 목록은 단일 변수에 여러 항목을 저장할 수 있는 기본 제공 데이터 구조입니다. 목록을 다른 항목을 넣을 수 있고 순서를 유지하는 컨테이너로 생각하십시오.
enumerate() 함수는 다음과 같은 다양한 방법으로 목록에서 사용할 수 있습니다.
A. Python Enumerate를 사용하여 목록 요소 및 해당 인덱스에 액세스
enumerate()의 가장 일반적인 사용 사례 중 하나는 목록의 요소와 해당 인덱스에 모두 액세스해야 하는 경우입니다. Enumerate를 사용하면 깨끗하고 효율적인 방법으로 이 작업을 수행할 수 있습니다.
다음은 목록의 요소와 해당 인덱스에 액세스하는 예입니다.
fruits = ['apple', 'banana', 'mango', 'grape', 'orange']
for index, fruit in enumerate(fruits):
print(f"At index {index}, the fruit is {fruit}.")
이 코드의 출력은 아래 이미지에 나와 있습니다.
B. Python Enumerate로 목록 요소 수정
인덱스를 기반으로 목록 의 요소를 수정해야 하는 경우 enumerate()는 훌륭한 도구입니다. 루프 내에서 인덱스에 액세스하고 이를 사용하여 목록을 수정할 수 있습니다.
다음은 enumerate 함수를 사용하여 목록 요소를 수정하는 예입니다.
numbers = [1, 2, 3, 4, 5]
for i, num in enumerate(numbers):
numbers[i] = num * 2
이 Python 코드는 1에서 5까지의 숫자 목록을 만듭니다. 그런 다음 for 루프와 enumerate() 함수를 사용하여 목록을 반복합니다.
반복할 때마다 현재 숫자(num)에 2를 곱하고 목록의 동일한 위치(numbers[i])에 다시 할당합니다.
그 결과 아래 이미지와 같이 원래 목록의 모든 숫자가 두 배가 됩니다.
C. Python Enumerate로 두 목록의 요소 비교
서로 다른 두 목록의 요소를 비교하는 경우 enumerate()는 동시에 두 목록의 요소에 액세스하는 데 필요한 인덱스를 제공할 수 있습니다.
다음은 enumerate 함수를 사용하여 두 목록의 요소를 비교하는 예입니다.
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 0, 5]
for i, value in enumerate(list1):
if value != list2[i]:
print(f"Difference at index {i}: {value} (list1) vs {list2[i]} (list2)")
이 코드에서는 먼저 list1과 list2라는 두 개의 목록을 정의합니다. 그런 다음 각 항목의 인덱스(i)와 값을 제공하는 enumerate()가 포함된 for 루프를 사용하여 list1을 반복합니다.
list1의 현재 항목이 list2의 해당 항목과 일치하지 않으면 두 목록의 차이점과 다른 값의 인덱스를 인쇄합니다.
이 코드의 결과는 다음과 같습니다.
2. Python 튜플과 함께 Enumerate를 사용하는 방법
Python의 튜플은 목록과 유사한 순서가 지정된 요소 모음입니다. 유일한 차이점은 튜플은 변경할 수 없다는 것입니다. 즉, 튜플을 만든 후에 내용을 변경할 수 없습니다.
다음은 Python 튜플과 함께 enumerate를 사용할 수 있는 몇 가지 경우입니다.
A. Python Enumerate()를 사용하여 튜플에서 요소 찾기
파이썬에서 튜플을 다룰 때, 요소가 튜플에 존재하는지 종종 찾아야 할 수도 있습니다.
다음 예제 코드는 enumerate를 사용하여 튜플에서 요소를 찾는 방법을 보여줍니다.
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
for i, fruit in enumerate(fruits):
if fruit == 'mango':
print(f"'mango' found at position {i}")
이 코드는 'mango'가 튜플의 인덱스 2에 있기 때문에 "'mango' found at position 2"를 인쇄합니다.
B. Python Enumerate()를 사용하여 튜플에서 사전 생성
튜플이 있고 사전으로 변환해야 하는 경우 Python의 enumerate() 함수가 유용한 도구가 될 수 있습니다.
예제 코드는 enumerate를 사용하여 튜플에서 사전을 만드는 방법을 보여줍니다.
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
fruit_dict = {i: fruit for i, fruit in enumerate(fruits)}
print(fruit_dict)
이 코드는 키가 인덱스이고 값이 튜플의 요소인 사전을 인쇄합니다.
3. Python 사전과 함께 Enumerate를 사용하는 방법
Python에서 사전은 각 키가 고유해야 하는 변경 가능한 키-값 쌍의 정렬되지 않은 모음 입니다. 실제 사전이라고 생각하면 됩니다. 단어(키)를 찾아 정의(값)를 얻습니다.
다음은 Python 사전과 함께 enumerate를 사용할 수 있는 몇 가지 경우입니다.
A. 사전의 키와 값을 통한 반복
enumerate() 함수를 사용하여 사전의 키와 값을 반복할 수 있습니다.
enumerate() 함수는 반복 가능한 객체(예: 사전)에 카운터를 추가하여 현재 인덱스 값에 액세스할 수 있도록 합니다.
Python 사전을 사용한 열거 함수의 예는 다음 과 같습니다.
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, k in enumerate(example_dict):
print(i, k)
이 Python 코드에서는 먼저 example_dict라는 사전을 만듭니다 . 그런 다음 enumerate() 함수를 사용하여 사전을 반복합니다.
각 반복마다 사전에서 루프 수(i가 제공하고 0부터 시작)와 현재 키(k)를 인쇄합니다.
B. Python Enumerate와 Items 함수 결합
enumerate() 와 함께 items() 함수를 통해 사전의 키와 값에 모두 액세스할 수도 있습니다 . items () 함수는 키-값 쌍의 반복 가능한 컬렉션을 튜플로 반환합니다.
아래 예제는 enumerate() 와 함께 items() 함수를 사용하는 방법을 보여줍니다 .
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, (k, v) in enumerate(example_dict.items()):
print(i, k, v)
이 코드에서는 example_dict 라는 사전을 만든 다음 enumerate() 함수를 사용하여 사전의 키-값 쌍을 반복합니다. 각 반복 동안 루프 인덱스 'i', 현재 키 'k' 및 해당 값 'v'를 인쇄합니다.
이제 몇 가지 일반적인 시나리오에서 Python의 enumerate() 함수를 사용하는 방법을 확실하게 이해했습니다. 그러나 enumerate()는 더 많은 기능을 제공합니다.
다음 섹션에서 enumerate()를 둘러싼 몇 가지 고급 사용 사례에 대해 살펴보겠습니다!
Python Enumerate의 3가지 고급 사용 사례
이 섹션에서는 기본 사항을 넘어 파이썬에서 enumerate 함수의 일부 고급 사용 사례를 살펴보겠습니다.
다음 사용 사례를 다룹니다.
Python 클래스와 함께 Enumerate 사용
열거형 클래스와 함께 열거형 사용
순서 반전을 위해 Enumerate 사용
그것에 들어가자!
1. Python 클래스와 함께 Enumerate 사용
Python 프로그래밍 여정에서 사용자 정의 클래스와 함께 열거를 사용하려는 상황에 직면할 수 있습니다.
이를 달성하기 위해 클래스는 iter() 메서드를 구현해야 합니다. 이를 통해 반복 가능합니다.
색상 이름과 관련 16진수 값을 저장하는 Color 클래스를 고려하십시오 .
class Color:
def __init__(self, colors: dict):
self.colors = colors
def __iter__(self):
return iter(self.colors.items())
colors = Color({"red": "#FF0000", "green": "#00FF00", "blue": "#0000FF"})
for index, (name, hex_value) in enumerate(colors):
print(f"{index}: {name} => {hex_value}")
이 코드에서는 색상 이름과 해당하는 16진수 값의 사전을 사용하는 Color 클래스를 만듭니다.
루프에서 enumerate()를 사용하면 각 키-값 쌍과 함께 인덱스가 제공됩니다. 이를 통해 색인, 색상 이름 및 해당 16진수 값을 형식이 지정된 문자열로 인쇄할 수 있습니다.
2. Enum 클래스와 함께 Python Enumerate 사용
Python 에는 자동 할당된 정수 값을 사용하여 열거형을 만들 수 있는 Enum 클래스 가 내장되어 있습니다 .
예를 들어 다음 코드를 살펴보십시오.
from enum import Enum, auto
class Direction(Enum):
NORTH = auto()
EAST = auto()
SOUTH = auto()
WEST = auto()
for index, direction in enumerate(Direction):
print(f"{index}: {direction.name} => {direction.value}")
이 스크립트에서는 Python의 열거형 모듈을 사용하여 4개의 멤버(NORTH, EAST, SOUTH 및 WEST)로 열거형 방향을 정의합니다. auto() 함수는 각 멤버에 자동 값을 할당합니다.
루프에서 enumerate()를 사용하면 각 열거형 멤버와 함께 인덱스가 제공됩니다. 이를 통해 인덱스, 멤버 이름 및 형식이 지정된 문자열에 자동으로 할당된 값을 인쇄할 수 있습니다.
이 코드의 출력은 아래 이미지에 나와 있습니다.
3. 순서 반전을 위해 Python Enumerate 사용
경우에 따라 항목을 역순으로 열거할 수 있습니다. enumerate() 와 함께 reversed() 내장 함수를 사용하여 이를 달성할 수 있습니다 .
다음 예제에서는 항목을 역순으로 열거하는 방법을 보여줍니다.
my_list = ["apple", "banana", "cherry"]
for index, item in enumerate(reversed(my_list)):
print(f"{index}: {item}")
이 코드에서는 enumerate()를 사용하여 my_list의 반대 버전을 반복합니다. 이렇게 하면 각 반복에서 반전된 목록의 인덱스와 항목이 제공됩니다. 서식이 지정된 문자열로 인덱스와 항목을 인쇄할 수 있습니다.
reversed () 함수는 원래 시퀀스를 수정하지 않습니다. 항목을 역순으로 표시하는 새 반복자를 만듭니다.
Python의 함수에 대해 자세히 알아보려면 다음 비디오를 확인하세요.
마지막 생각들
Python 여정을 계속하면서 enumerate() 함수를 마스터하는 것은 필수입니다. 코드 가독성과 효율성을 향상시키는 도구입니다.
enumerate()를 사용하면 루프의 인덱스와 값에 원활하게 액세스할 수 있으므로 카운터 변수나 인덱싱의 필요성이 줄어듭니다. 코드를 단순화하고 더 Pythonic하게 만듭니다.
목록, 튜플, 문자열 또는 사전을 통해 반복하든 enumerate()는 유용한 도구임이 입증될 것입니다. enumerate()를 이해하고 연습함으로써 Python 프로그래밍 기술을 연마하는 데 중요한 단계를 밟게 될 것입니다!
파이썬에서 자기란 무엇인가: 실제 사례
R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.
이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.
이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.
이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.
LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.
LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.
이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.
지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.
LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것