@ Satya , я использовал концепцию Counter контейнера коллекций модуля в Python для решения вашей проблемы.
Счетчик - это подклассдиктатаСледовательно, это неупорядоченная коллекция, в которой элементы и их соответствующие значения хранятся в виде словаря.Это эквивалентно сумке или мультимножеству других языков.
Примечание : Не забудьте проверить ссылки на Счетчик , который указан в самом низу этого ответа, ипрокомментируйте, если найдете какие-либо трудности.
Посмотрите на приведенный ниже код.
"""
StkOvrFlw link: /11327083/kak-sdelat-funktsiy-poiska-dublikatov-v-simvolnoi-stroke
Aim: [
'1. Here, original character means the character which '
'is first time appearing in the string'
'2. Replacing original character with => ('
'3. If there are more occurences of original character'
then replace them with => )'
]
References: http://www.pythonforbeginners.com/collection/python-collections-counter
"""
from collections import Counter
# Code
def duplicate_finder(word):
word = word.lower()
i = 1;
for ch, count in Counter(word).items():
# print '(', i, ') Original character: \'', ch, '\'with', count - 1, 'more occurence(s)'
if count == 1:
word = word.replace(ch, '(') # Only 1 occurence of original character
else:
l = list(word)
l[word.find(ch)] = '(' # Replace original character with (
word = ''.join(l)
word = word.replace(ch, ')') # Replace other occurences of original character with )
# print 1, 'occurence of \'', ch, '\' replaced with \'(\' and remaining ', count - 1, ' occurence(s) with \')\''
# print 'Iteration ', i, ' gives: ', word, '\n'
i += 1
return word
# Test case 1
print "I/P: abaccccsgfsyetgdggdh"
print "O/P: ", duplicate_finder('abaccccsgfsyetgdggdh')
"""
I/P: abaccccsgfsyetgdggdh
O/P: (()()))((()((()()))(
"""
# Test case 2
print "\nI/P: AAABBBCCC34519543absd67das1729"
print "O/P: ", duplicate_finder('AAABBBCCC34519543absd67das1729')
"""
I/P: AAABBBCCC34519543absd67das1729
O/p: ())())())((((()))))(((()))))()
"""
Ссылки : Вы можете найти хорошие статьи на Счетчик контейнер Python по адресу:
http://www.pythonforbeginners.com/collection/python-collections-counter и
https://www.geeksforgeeks.org/counters-in-python-set-1/