w3resource

Python: Remove first specified number of elements from a given list satisfying a condition

Python List: Exercise - 160 with Solution

Write a Python program to remove the first specified number of elements from a given list satisfying a condition.

Remove the first 4 number of even numbers from the following list:
[3,10,4,7,5,7,8,3,3,4,5,9,3,4,9,8,5]
Output:
[3, 7, 5, 7, 3, 3, 5, 9, 3, 4, 9, 8, 5]

Sample Solution:

Python Code:

def condition_match(x):
    return ((x % 2) == 0)
def remove_items_con(data, N):
    ctr = 1
    result = []
    for x in data:
        if ctr > N or not condition_match(x):
            result.append(x)
        else:
            ctr = ctr + 1
    return result
nums = [3,10,4,7,5,7,8,3,3,4,5,9,3,4,9,8,5]
N = 4
print("Original list:")
print(nums)
print("\nRemove first 4 even numbers from the said list:")
print(remove_items_con(nums, N))

Sample Output:

Original list:
[3, 10, 4, 7, 5, 7, 8, 3, 3, 4, 5, 9, 3, 4, 9, 8, 5]

Remove first 4 even numbers from the said list:
[3, 7, 5, 7, 3, 3, 5, 9, 3, 4, 9, 8, 5]

Pictorial Presentation:

Python List: Remove first specified number of elements from a given list satisfying a condition.

Flowchart:

Flowchart: Remove first specified number of elements from a given list satisfying a condition.

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:


Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to append the same value /a list multiple times to a list/list-of-lists.
Next: Write a Python program to check if a given list is strictly increasing or not. Moreover, If removing only one element from the list results in a strictly increasing list, we still consider the list true.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.

Python: Tips of the Day

Returns True if the provided function returns True for every element in the list, False otherwise:

Example:

def tips_every(lst, fn=lambda x: x):
  return all(map(fn, lst))

print(tips_every([2, 4, 3], lambda x: x > 1))
print(tips_every([1, 2, 3]))

Output:

True
True