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]

ด้วยการหั่น

Slicing เป็นอีกเทคนิคหนึ่งที่เราสไลซ์คู่ที่ต่อเนื่องกันจากรายการ จากนั้นใช้ฟังก์ชัน 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]

มีซับ

สามารถใช้วิธีการย่อยจากโมดูลตัวดำเนินการผ่านฟังก์ชันแผนที่ได้ เราใช้เทคนิคการแบ่งองค์ประกอบสองคู่ที่ต่อเนื่องกันอีกครั้ง

ตัวอย่าง

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]