Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

목록의 대체 범위 슬라이싱(Python)

<시간/>

슬라이싱은 Python에서 주어진 목록의 데이터를 분석하는 매우 일반적인 기술입니다. 그러나 분석을 위해 특정 값 범위에 대한 목록 조각을 만들어야 하는 경우가 있습니다. 예를 들어 목록에서 모든 4개 요소를 건너뛰어 4개 요소를 인쇄해야 합니다. 이 기사에서 우리는 파이썬에서 범위 슬라이싱의 개념을 볼 것입니다.

range() 및 len() 사용

목록의 전체 길이를 탐색하는 for 루프를 생성하지만 분할 가능성 테스트를 충족하는 요소만 선택합니다. 나눗셈 테스트에서 우리는 목록의 k번째 요소에 대한 나머지 값을 확인합니다. 나머지가 범위 값보다 크거나 같으면 요소를 수락하고 그렇지 않으면 수락하지 않습니다.

range_slicing = [6,9,11,15,20,24,29,36,39,43,47,52,56,70,73,79]
print("The given list: ",range_slicing)

# Range Value
s = 4
# Using range and len
result = [range_slicing[k] for k in range(len(range_slicing))
if k % (s * 2) >= s]

print("\nThe list after range slicing: ",result)

위의 코드를 실행하면 다음과 같은 결과가 나타납니다.

The given list: [6, 9, 11, 15, 20, 24, 29, 36, 39, 43, 47, 52, 56, 70, 73, 79]
The list after range slicing: [20, 24, 29, 36, 56, 70, 73, 79]

열거 사용

이전 접근 방식과 유사한 논리를 적용하지만 range() 및 len()을 사용하는 대신 단순히 enumerate()를 적용합니다. 목록의 마지막 요소는 나눗셈 조건을 만족하므로 결과에 나타납니다.

range_slicing = [6,9,11,15,20,24,29,36,39,43,47,52,56,70,73,79]
print("The given list: ",range_slicing)
# Range value
s2= 5

# Using Enumerate
result_2 = [val for m, val in enumerate(range_slicing)
if m % (s2 * 2) >= s2]

print("\nThe list after range slicing: ",result_2)

위의 코드를 실행하면 다음과 같은 결과가 나타납니다.

The given list: [6, 9, 11, 15, 20, 24, 29, 36, 39, 43, 47, 52, 56, 70, 73, 79]
The list after range slicing: [24, 29, 36, 39, 43, 79]