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

Python 연속 요소 차이 목록 생성

<시간/>

이것의 요소 기사에서 우리는 주어진 목록의 각 요소 쌍에 대한 두 개의 연속 요소 사이의 차이점을 찾는 방법을 볼 것입니다. 목록에는 요소로 숫자만 있습니다.

색인 포함

for 루프와 함께 요소의 인덱스를 사용하여 연속된 요소 쌍 간의 차이를 찾을 수 있습니다.

listA = [12,14,78,24,24]
# Given list
print("Given list : \n",listA)
# Using Index positions
res = [listA[i + 1] - listA[i] for i in range(len(listA) - 1)]
# printing result
print ("List with successive difference in elements : \n" ,res)

출력

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

Given list :
[12, 14, 78, 24, 24]
List with successive difference in elements :
[2, 64, -54, 0]

슬라이싱 사용

슬라이싱은 목록에서 연속적인 쌍을 슬라이싱한 다음 zip 함수를 적용하여 결과를 얻는 또 다른 기술입니다.

listA = [12,14,78,24,24]
# Given list
print("Given list : \n",listA)
# Using list slicing
res = [x - y for y, x in zip(listA[: -1], listA[1 :])]
# printing result
print ("List with successive difference in elements : \n" ,res)

출력

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

Given list :
[12, 14, 78, 24, 24]
List with successive difference in elements :
[2, 64, -54, 0]

서브 포함

operator 모듈의 sub 메소드는 map 함수를 통해서도 사용할 수 있습니다. 다시 슬라이싱 기법을 적용하여 두 개의 연속적인 요소 쌍을 만듭니다.

import operator
listA = [12,14,78,24,24]
# Given list
print("Given list : \n",listA)
# Using operator.sub
res = list(map(operator.sub, listA[1:], listA[:-1]))
# printing result
print ("List with successive difference in elements : \n" ,res)

출력

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

Given list :
[12, 14, 78, 24, 24]
List with successive difference in elements :
[2, 64, -54, 0]