
- Python 3 Basic Tutorial
- Python 3 - Home
- What is New in Python 3
- Python 3 - Overview
- Python 3 - Environment Setup
- Python 3 - Basic Syntax
- Python 3 - Variable Types
- Python 3 - Basic Operators
- Python 3 - Decision Making
- Python 3 - Loops
- Python 3 - Numbers
- Python 3 - Strings
- Python 3 - Lists
- Python 3 - Tuples
- Python 3 - Dictionary
- Python 3 - Date & Time
- Python 3 - Functions
- Python 3 - Modules
- Python 3 - Files I/O
- Python 3 - Exceptions
Python program to find all duplicate characters in a string
This article teaches you how to write a python program to find all duplicate characters in a string.
Characters that repeat themselves within a string are referred to as duplicate characters. When we refer to printing duplicate characters in a string, we mean that we shall print every character, including spaces, that appears more than once in the string in question.
Input-Output Scenarios
Following is the input-output scenario to find all the duplicate characters in a string −
Input: TutorialsPoint Output: t, o, i
As we can see, the duplicate characters in the given string “TutorialsPoint” are “t” with “3” repetitions, “o” with “2” repetitions and “i” with “2” reputations.
Algorithm
The following algorithm will search a string for duplicate characters −
Create a String and store it in a variable.
To find the duplicate characters, use two loops. A character will be chosen and the variable count will be set to 1 using the outer loop
To compare the selected character with the remaining characters in the string, an inner loop will be employed.
If a match is found, the count is raised by 1.
If a character's count is more than 1 once the inner loop is finished, there are duplicate characters in the string.
Print the character count and all the repeated characters.
End
We can implement the above algorithm in various ways let us see them one by one −
Using loops
For iterating repeatedly through a sequence, use a for loop. This functions more like an iterator method seen in other object-oriented programming languages and is less like the for keyword found in other programming languages.
Example
Following is an example to find all the duplicate characters in a string using loops −
string = "Welcome to TutorialsPoint family"; print("All the duplicate characters in the string are: "); # Counting every characters of the string for s in range(0, len(string)): count = 1; for t in range(s+1, len(string)): if(string[s] == string[t] and string[s] != ' '): count = count + 1; # setting the string t to 0 to avoid printing the characters already taken string = string[:t] + '0' + string[t+1:]; # If the count is greater than 1, the character is considered as duplicate if(count > 1 and string[s] != '0'): print(string[s]," - ",count);
Output
Following is an output of the above code −
All the duplicate characters in the string are: e - 2 l - 3 o - 4 m - 2 t - 3 o - 3 t - 2 o - 2 i - 3 a - 2 l - 2 i - 2
Using list using count() method
The frequency of a character or substring within a string can be counted using the count() function of the Python language. As a return value, it simply provides the count of occurrences.
Example2
Following is an example to find all the duplicate characters in a string using count() method −
# initializing the string str = "tutorialspoint" # initializing a list to add all the duplicate characters duplicate_char = [] for character in str: # check whether there are duplicate characters or not # returning the frequency of a character in the string if str.count(character) > 1: # append to the list if it is already not present if character not in duplicate_char: duplicate_char.append(character) print(*duplicate_char)
Output
Following is an output of the above code −
t o i
Using Counter() method
Python's Counter subclass of dict is created specifically for counting hashable objects. It is a dictionary where numbers are the values and objects are the keys. You normally pass a sequence or iterable of hashable objects as an input to the class's constructor when using Counter.
Example
Using the Counter method, create a dictionary with strings as keys and frequencies as values. After that, create a temporary variable and print every index derived from keys with values greater than 1 as shown in the following example −
from collections import Counter def duplicate_character(input): # creating the dictionary by using counter method having strings as key and its frequencies as value string = Counter(input) # Find the number of occurrence of a character and getting the index of it. for char, count in string.items(): if (count > 1): print(char) # Driver code if __name__ == "__main__": input = 'TutorialsPoint' duplicate_character(input)
Output
Following is an output of the above code −
t o i
- Related Articles
- Java program to find all duplicate characters in a string
- Find All Duplicate Characters from a String using Python
- Java Program to find duplicate characters in a String?
- Program to find string after removing consecutive duplicate characters in Python
- Java Program to Find the Duplicate Characters in a String
- Program to find string after deleting k consecutive duplicate characters in python
- Program to remove duplicate characters from a given string in Python
- Golang program to find the duplicate characters in the string
- Python Program to find mirror characters in a string
- C# Program to remove duplicate characters from String
- Java program to delete duplicate characters from a given String
- Python program to check if a string contains all unique characters
- Find the smallest window in a string containing all characters of another string in Python
- Python program to Mark duplicate elements in string
- C++ Program to Remove all Characters in a String Except Alphabets
