# How to find unique occurrences in a Python list?

## Problem

To get only the unique values in a Python list.

## Solution

In this post, we’ll introduce three different techniques to identify if we have any repeated values in the list and obtain a list of unique values.

### Option 1: Using NumPy

NumPy is a Python library that can be used to work with arrays. We can utilize the help of this package to get unique values from a list. Let us look at an example.

Code:

``````import numpy as np
def getuniquelist(values):
assignlist = np.array(values)
uniquelist = np.unique(assignlist)
return list(uniquelist)
repeatedlist = [1,2,3,4,4,5,3,2,1]
print("Provided list:", repeatedlist)
print("Newlist: ", getuniquelist(repeatedlist))``````

Output:

``````Provided list: [1, 2, 3, 4, 4, 5, 3, 2, 1]
Newlist:  [1, 2, 3, 4, 5]``````

Note:

• Before importing the NumPy package, we need to install NumPy using pip install numpy in the terminal.
• Using np.array() will assign the list values to the NumPy array. By using np.unique() we can retrieve the unique list.

### Option 2: Using Traversal Technique

We can traverse through the list and store each value in a new list using an if condition check to confirm we don’t have any repeated values.

Code:

``````def getuniquelist(values):
newlist = []
for x in values:
if x not in newlist:
newlist.append(x)
return newlist
repeatedlist = [8,8,7,9,2,2,0,7]
print("Provided list:", repeatedlist)
print("Newlist: ", getuniquelist(repeatedlist))``````

Output:

``````Provided list: [8, 8, 7, 9, 2, 2, 0, 7]
Newlist:  [8, 7, 9, 2, 0]``````

### Option 3: Using Python sets

The set() function, by default, stores a value once even if it is added more than once. So by storing all the values from the list to set, we can achieve unique occurrences.

Code:

``````def getuniquelist(value):
assignset = set(value)
uniquelist = list(assignset)
return uniquelist
repeatedlist = ["vinod", "greg", "john", "john", "john"]
print("Provided list:", repeatedlist)
print("Newlist: ", getuniquelist(repeatedlist))``````

Output:

``````Provided list: ['vinod', 'greg', 'john', 'john', 'john']
Newlist:  ['john', 'greg', 'vinod']``````