파이썬 데크 픽

Salman Mehmood 2023년6월21일
  1. Python Deque Peek 개요
  2. 솔루션: 색인을 사용하여 deque 클래스를 통해 전면 요소 엿보기
파이썬 데크 픽

이 기사는 Python에서 deque에서 요소를 제거하지 않고 deque(Double ended queue) 앞에 있는 요소를 보고 검사하는 방법을 보여줍니다.

Python Deque Peek 개요

프로그램에서 deque를 사용하는 동안 deque 앞에 무엇이 있는지 확인하고 싶을 수 있습니다. deque 앞에 있을 수 있는 항목에 따라 다른 작업을 수행할 수 있습니다.

요소를 팝하고 필요한 조건을 확인하는 것이 가장 명백해 보일 수 있지만 항상 최선의 선택은 아닙니다. 일반적인 시나리오는 deque 변경을 허용하지 않는 제약 조건일 수 있습니다. 그 외에는 불필요한 작업이기도 합니다.

다음 코드를 고려하십시오.

from collections import deque

data = deque([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

이 코드 스니펫에서는 먼저 Python 설치와 함께 제공되는 collections 모듈에서 deque 데이터 구조를 가져옵니다. 그런 다음 deque1에서 10 범위의 요소로 초기화됩니다.

이제 어느 방향에서든 deque 요소를 팝하지 않고 deque의 전면에 액세스해야 합니다. 어떻게 할 수 있습니까? 아래에서 배워봅시다.

솔루션: 색인을 사용하여 deque 클래스를 통해 전면 요소 엿보기

솔루션에 대해 논의하기 전에 Python에서 인덱싱이 작동하는 방식과 요소를 팝하지 않고 deque의 프런트 멤버에 액세스하기 위해 인덱스를 유리하게 사용하는 방법을 배워야 합니다.

Python의 인덱스

Python index() 메서드는 위치에 따라 iterable 내의 특정 요소를 참조합니다. 따라서 iterable 내에서 원하는 요소에 직접 액세스하고 요구 사항에 따라 다양한 작업을 수행할 수 있다고 말할 수도 있습니다.

거의 모든 다른 프로그래밍 언어와 마찬가지로 Python의 개체는 제로 인덱스, 즉 위치 카운트가 0에서 시작함을 의미합니다. 수많은 추가 프로그래밍 언어가 동일한 구조를 따릅니다.

따라서 목록에 5개의 항목이 있는 경우 초기 요소(가장 왼쪽에 있는 요소)는 0 위치를 차지하고 그 뒤에 첫 번째, 두 번째, 세 번째 및 네 번째 위치의 요소가 있습니다.

index() 메서드는 항목 이름을 인수로 사용하여 목록에서 호출하면 목록 내 특정 항목의 인덱스를 표시합니다.

다음 코드를 고려하십시오.

cars = ["Suzuki", "Honda", "Chevrolet", "Ford", "Tesla"]

# Printing out the indexes of Suzuki and Tesla
print("Index of Suzuki: ", cars.index("Suzuki"))
print("Index of Tesla: ", cars.index("Tesla"))

출력:

Index of Suzuki: 0
Index of Tesla: 4

파이썬 인덱스 연산자

대괄호 []는 파이썬에서 색인 연산자를 나타냅니다. 그러나 구문에서는 대괄호 안에 숫자를 입력해야 합니다.

통사론:

IterableObject[index]

Python의 음수 인덱스

지금까지 우리는 이전 예제에서 인덱스 연산자(대괄호, []) 내에서 항상 양의 정수를 사용했습니다. 음수 인덱스도 존재합니다.

목록의 마지막 몇 개 구성원에 관심이 있거나 다른 끝에서 목록을 인덱싱하려는 경우 음의 정수를 자주 사용할 수 있습니다.

네거티브 인덱싱은 다른 쪽 끝에서 인덱싱하는 이 방법을 설명합니다. 다음 코드를 고려하십시오.

cars = ["Suzuki", "Honda", "Chevrolet", "Ford", "Tesla"]

# Printing out the indexes of Suzuki and Tesla
print(cars[-1])
print(cars[-2])

그러면 다음과 같은 결과가 나타납니다.

Tesla
Ford

이제 네거티브 인덱싱이 어떻게 작동하는지 알았으므로 문제에 대한 해결책이 명확해졌습니다. 다음 코드를 고려하십시오.

from collections import deque

data = deque([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

print("First Element: " + str(data[0]))
print("Second Element: " + str(data[-1]))

출력:

First Element: 1
Second Element: 10

deque는 인덱스 기반 액세스 측면에서 목록으로도 이해될 수 있기 때문에 작동합니다.

deque[0]을 사용하여 앞 요소를 엿볼 수 있고 deque[-1]을 사용하여 마지막 요소를 엿볼 수 있습니다. 왼쪽이나 오른쪽에서 요소가 튀어나오지 않고 작동하며 효율적으로 보입니다.

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn