
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Remove Duplicate Characters from a Given String in Python
Suppose we have a string s. We have to remove all duplicate characters that have already appeared before. The final string will have same ordering of characters like the actual one.
We can solve this by using ordered dictionary to maintain the insertion order of the characters. The value will be the frequency of those characters, however the frequency values are not important here. After forming the dictionary, we can simply take the keys and join them to get the string.
So, if the input is like s = "bbabcaaccdbaabababc", then the output will be "bacd".
- d := a dictionary where keys are stored in order by their insertion order
- for each character c in s, do
- if c is not present in d, then
- d[c] := 0
- d[c] := d[c] + 1
- if c is not present in d, then
- join the keys one after another in proper order to make the output string and return.
Example
Let us see the following implementation to get better understanding −
from collections import OrderedDict def solve(s): d = OrderedDict() for c in s: if c not in d: d[c] = 0 d[c] += 1 return ''.join(d.keys()) s = "bbabcaaccdbaabababc" print(solve(s))
Input
"bbabcaaccdbaabababc"
Output
"bacd"
Advertisements