Equidistant Consecutive Characters in Strings



When it is required to find equidistant consecutive character strings, a list comprehension, the ‘all’ operator and the ‘ord’ method are used.

Example

Below is a demonstration of the same

Open Compiler
my_list = ["abc", "egfg", "mpsv", "abed", 'xzbd', 'agms'] print("The list is :") print(my_list) my_result = [sub for sub in my_list if all(ord(sub[index + 1]) - ord(sub[index]) == ord(sub[1]) - ord(sub[0]) for index in range(0, len(sub) - 1))] print("The resultant list is :") print(my_result)

Output

The list is :
['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms']
The resultant list is :
['abc', 'mpsv', 'agms']

Explanation

  • A list of string values is defined and is displayed on the console.

  • A list comprehension is used to iterate through the list.

  • The ‘all’ operator along with ‘ord’ method is used to check if the difference between next index and current index is equivalent to the first index and zeroth index.

  • This is assigned to a variable.

  • This is displayed as output on the console.

Updated on: 2021-09-14T11:03:12+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements