我想编写一个函数,该函数返回在输入字符串中出现多次的字母字符和数字的数量.
示例示例:“ aabbccd”应返回3,因为“ a”,“ b”和“ c”都具有重复项.与“ aaabbccd”相同,也将返回3.
这是我所做的,但是我的代码似乎有问题.它适用于某些情况,但显然不适用于其他情况.
def duplicate_count(text):
count=0
for i in range(len(text)-1):
for j in range(i+1,len(text)):
if text[i]==text[j]:
count+=1
break
break
return count
解决方法:
这将更加简洁:
import numpy as np
def duplicate_count(text):
#elem is an array of the unique elements in a string
#and count is its corresponding frequency
elem, count = np.unique(tuple(text), return_counts=True)
return np.sum(count>1)