# Python – Extract element from list succeeded by K

• Last Updated : 11 Oct, 2020

Given a list, extract the elements which are having K as the next element.

Input : test_list = [2, 3, 5, 7, 8, 5, 3, 5], K = 3
Output : [2, 5]
Explanation : Elements before 3 are 2, 5.

Input : test_list = [2, 3, 5, 7, 8, 5, 3, 8], K = 8
Output : [7, 3]
Explanation : Elements before 8 are 7, 3.

Method #1: Using loop

In this, we iterate the list and look for each K, and extract the element preceding it.

## Python3

 # Python3 code to demonstrate working of# Extract elements succeeded by K# Using loop  # initializing listtest_list = [2, 3, 5, 7, 8, 5, 3, 5]  # printing original listprint("The original list is : " + str(test_list))  # initializing KK = 5  # Using loop to extract elements succeeded by Kres = []for idx in range(len(test_list) - 1):      # checking for succession    if test_list[idx + 1] == K:        res.append(test_list[idx])  # printing resultprint("Extracted elements list : " + str(res))

Output

The original list is : [2, 3, 5, 7, 8, 5, 3, 5]
Extracted elements list : [3, 8, 3]

Method #2: Using list comprehension

Another way to solve this question, in this, we use list comprehension as shorthand to solve the problem of getting elements.

## Python3

 # Python3 code to demonstrate working of# Extract elements succeeded by K# Using list comprehension  # initializing listtest_list = [2, 3, 5, 7, 8, 5, 3, 5]  # printing original listprint("The original list is : " + str(test_list))  # initializing KK = 5  # List comprehension used as shorthandres = [test_list[idx]       for idx in range(len(test_list) - 1) if test_list[idx + 1] == K]  # printing resultprint("Extracted elements list : " + str(res))

Output

The original list is : [2, 3, 5, 7, 8, 5, 3, 5]
Extracted elements list : [3, 8, 3]

My Personal Notes arrow_drop_up