Python: Find the items that are parity outliers in a given list

Python List: Exercise - 236 with Solution

Write a Python program to find the items that are parity outliers in a given list.

  • Use collections.Counter with a list comprehension to count even and odd values in the list.
  • Use collections.Counter.most_common() to get the most common parity.
  • Use a list comprehension to find all elements that do not match the most common parity.

Sample Solution:

Python Code:

from collections import Counter
def find_parity_outliers(nums):
  return [
    x for x in nums
    if x % 2 != Counter([n % 2 for n in nums]).most_common()[0][0]
print(find_parity_outliers([1, 2, 3, 4, 6]))  
print(find_parity_outliers([1, 2, 3, 4, 5, 6, 7]))

Sample Output:

[1, 3]
[2, 4, 6]


Flowchart: Find the items that are parity outliers in a given list.

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 find the index of the last element in the given list that satisfies the provided testing function.
Next: Write a Python program to convert a given list of dictionaries into a list of values corresponding to the specified key.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz

Python: Tips of the Day

Floor Division:

When we speak of division we normally mean (/) float division operator, this will give a precise result in float format with decimals.

For a rounded integer result there is (//) floor division operator in Python. Floor division will only give integer results that are round numbers.

print(1000 // 300)
print(1000 / 300)