Computer >> Máy Tính >  >> Lập trình >> Python

Python Tạo danh sách khác biệt phần tử kế tiếp

Trong bài viết này là phần tử của nó, chúng ta sẽ thấy cách tìm sự khác biệt giữa hai phần tử liên tiếp cho mỗi cặp phần tử trong một danh sách nhất định. Danh sách chỉ có các số làm phần tử của nó.

Có chỉ mục

Sử dụng chỉ mục của các phần tử cùng với vòng lặp for, chúng ta có thể tìm thấy sự khác biệt giữa các cặp phần tử liên tiếp.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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

Với Slicing

Cắt lát là một kỹ thuật khác, trong đó chúng tôi cắt các cặp kế tiếp từ danh sách và sau đó áp dụng hàm zip để nhận kết quả.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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

Với phụ

Phương thức con từ mô-đun toán tử cũng có thể được sử dụng thông qua một hàm bản đồ. Một lần nữa, chúng tôi áp dụng kỹ thuật cắt hai cặp phần tử kế tiếp nhau.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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