In this article, we will learn about K’th Non-repeating Character in Python using List Comprehension and OrderedDict. To do so we take the help of inbuilt constructs available in Python.
Algorithm
1. First, we form a dictionary data from the input. 2. Now we count the frequency of each character. 3. Now we extract the list of all keys whose value equals 1. 4. Finally, we return k-1 character.
Example
from collections import OrderedDict import itertools def kthRepeating(inp,k): # returns a dictionary data dict=OrderedDict.fromkeys(inp,0) # frequency of each character for ch in inp: dict[ch]+=1 # now extract list of all keys whose value is 1 nonRepeatDict = [key for (key,value) in dict.items() if value==1] # returns (k-1)th character if len(nonRepeatDict) < k: return 'no ouput.' else: return nonRepeatDict[k-1] # Driver function if __name__ == "__main__": inp = "tutorialspoint" k = 3 print (kthRepeating(inp, k))
Output
a
Conclusion
In this article, we found the K’th Non-repeating Character in Python using List Comprehension and OrderedDict.