Python Generate successive element difference list

Finding the difference between successive elements in a list is a common operation in Python. This article explores three efficient methods to calculate consecutive element differences using list comprehension, list slicing, and the operator module.

Using List Comprehension with Index

The most straightforward approach uses list comprehension with index positions to access consecutive elements ?

numbers = [12, 14, 78, 24, 24]

# Given list
print("Given list:", numbers)

# Using index positions with list comprehension
differences = [numbers[i + 1] - numbers[i] for i in range(len(numbers) - 1)]

# Print result
print("Successive differences:", differences)
Given list: [12, 14, 78, 24, 24]
Successive differences: [2, 64, -54, 0]

Using List Slicing with zip()

List slicing combined with zip() creates pairs of consecutive elements efficiently ?

numbers = [12, 14, 78, 24, 24]

# Given list
print("Given list:", numbers)

# Using list slicing with zip
differences = [x - y for y, x in zip(numbers[:-1], numbers[1:])]

# Print result
print("Successive differences:", differences)
Given list: [12, 14, 78, 24, 24]
Successive differences: [2, 64, -54, 0]

Using operator.sub with map()

The operator.sub method provides a functional programming approach using map() ?

import operator

numbers = [12, 14, 78, 24, 24]

# Given list
print("Given list:", numbers)

# Using operator.sub with map
differences = list(map(operator.sub, numbers[1:], numbers[:-1]))

# Print result
print("Successive differences:", differences)
Given list: [12, 14, 78, 24, 24]
Successive differences: [2, 64, -54, 0]

Comparison

Method Readability Performance Best For
List Comprehension High Fast Most cases
zip() with Slicing Medium Fast Large lists
operator.sub Low Moderate Functional style

Conclusion

List comprehension with indexing is the most readable and efficient method for finding successive differences. Use zip() with slicing for cleaner code when working with large datasets, and operator.sub for functional programming approaches.

Updated on: 2026-03-15T18:10:46+05:30

530 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements