Skip to content
Related Articles

Related Articles

Python | Program to print duplicates from a list of integers

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 30 Jun, 2022

Given a list of integers with duplicate elements in it. The task to generate another list, which contains only the duplicate elements. In simple words, the new list should contain the elements which appear more than one.

Examples : 

Input : list = [10, 20, 30, 20, 20, 30, 40, 50, -20, 60, 60, -20, -20]
Output : output_list = [20, 30, -20, 60]


Input :  list = [-1, 1, -1, 8]
Output : output_list = [-1]

Method 1: Using the Brute Force approach

Python3




# Python program to print
# duplicates from a list
# of integers
def Repeat(x):
    _size = len(x)
    repeated = []
    for i in range(_size):
        k = i + 1
        for j in range(k, _size):
            if x[i] == x[j] and x[i] not in repeated:
                repeated.append(x[i])
    return repeated
 
# Driver Code
list1 = [10, 20, 30, 20, 20, 30, 40,
         50, -20, 60, 60, -20, -20]
print (Repeat(list1))
     
# This code is contributed
# by Sandeep_anand

Output

[20, 30, -20, 60]

Method 2: Using Counter() function from collection module

Python3




from collections import Counter
 
l1 = [1,2,1,2,3,4,5,1,1,2,5,6,7,8,9,9]
d = Counter(l1)
print(d)
 
new_list = list([item for item in d if d[item]>1])
print(new_list)

Output

Counter({1: 4, 2: 3, 5: 2, 9: 2, 3: 1, 4: 1, 6: 1, 7: 1, 8: 1})
[1, 2, 5, 9]

Method 3: Using count() method

Python3




# program to print duplicate numbers in a given list
# provided input
list = [1, 2, 1, 2, 3, 4, 5, 1, 1, 2, 5, 6, 7, 8, 9, 9]
 
new = []  # defining output list
 
# condition for reviewing every
# element of given input list
for a in list:
 
     # checking the occurrence of elements
    n = list.count(a)
 
    # if the occurrence is more than
    # one we add it to the output list
    if n > 1:
 
        if new.count(a) == 0# condition to check
 
            new.append(a)
 
print(new)
 
# This code is contributed by Himanshu Khune

Output

[1, 2, 5, 9]

Method 4: Using list comprehension method

Python3




def duplicate(input_list):
    return list(set([x for x in input_list if input_list.count(x) > 1]))
 
if __name__ == '__main__':
    input_list = [1, 2, 1, 2, 3, 4, 5, 1, 1, 2, 5, 6, 7, 8, 9, 9]
    print(duplicate(input_list))
 
# This code is contributed by saikot

Output

[1, 2, 5, 9]

Method 5: Using list-dictionary approach (without any inbuild count function)

Python3




def duplicate(input_list):
    new_dict, new_list = {}, []
 
    for i in input_list:
        if not i in new_dict:
            new_dict[i] = 1
        else:
            new_dict[i] += 1
 
    for key, values in new_dict.items():
        if values > 1:
            new_list.append(key)
 
    return new_list
 
if __name__ == '__main__':
    input_list = [1, 2, 1, 2, 3, 4, 5, 1, 1, 2, 5, 6, 7, 8, 9, 9]
    print(duplicate(input_list))
 
# This code is contributed by saikot

Output

[1, 2, 5, 9]

Method 6 : Using in, not in operators and count() method

Python3




lis = [1, 2, 1, 2, 3, 4, 5, 1, 1, 2, 5, 6, 7, 8, 9, 9]
x = []
y = []
for i in lis:
    if i not in x:
        x.append(i)
for i in x:
    if lis.count(i) > 1:
        y.append(i)
print(y)

Output

[1, 2, 5, 9]

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!