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

Tính toán sự khác biệt giữa các phần tử liền kề trong danh sách đã cho bằng Python

Trong bài này, chúng ta sẽ xem cách chúng ta tạo một danh sách mới từ một danh sách đã cho bằng cách trừ các giá trị trong các phần tử liền kề của danh sách. Chúng tôi có nhiều cách tiếp cận khác nhau để thực hiện điều đó.

Với phần phụ và dải ô

Trong cách tiếp cận này, chúng tôi lặp qua các phần tử danh sách bằng cách lấy các giá trị trừ đi các giá trị bằng cách sử dụng vị trí chỉ mục của chúng và thêm kết quả của mỗi phép trừ vào một danh sách mới. Chúng tôi sử dụng hàm range và len để theo dõi số lần lặp lại cần thực hiện.

Ví dụ

listA= [25, 97, 13, 62, 14, 102]

print("Given list:\n",listA)
list_with_diff = []
for n in range(1, len(listA)):
   list_with_diff.append(listA[n] - listA[n-1])
print("Difference between adjacent elements in the list: \n",
   list_with_diff)

Đầu ra

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

Given list:
[25, 97, 13, 62, 14, 102]
Difference between adjacent elements in the list:
[72, -84, 49, -48, 88]

Với zip và cắt danh sách

Trong cách tiếp cận tiếp theo, chúng tôi tạo một vòng lặp for để tìm sự khác biệt giữa các phần tử liền kề và tiếp tục bổ sung kết quả vào một danh sách mới.

Ví dụ

listA= [25, 97, 13, 62, 14, 102]

print("Given list:\n",listA)
list_with_diff = []
for i, j in zip(listA[0::], listA[1::]):
   list_with_diff.append(j - i)
print("Difference between adjacent elements in the list: \n",
   list_with_diff)

Đầu ra

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

Given list:
[25, 97, 13, 62, 14, 102]
Difference between adjacent elements in the list:
[72, -84, 49, -48, 88]