• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

我很难找出这个精简代码

python 来源:Ivan Leo 6次浏览
def duplicate_count(s): 
    return len([c for c in set(s.lower()) if s.lower().count(c)>1]) 

我很难理解这段代码的工作原理。我正在做一个codewars挑战,以返回字符串中重复元素的数量。我很难找出这个精简代码

例如。 Asasd – > 2

我想出了我自己的暗示,但我无法真正理解这段代码的作用。如果有人可以指出我的方向,它将不胜感激:)


===========解决方案如下:

它返回重复字符的数量(如函数名称暗示) set(s.lower())给出字符串中的唯一字母。 杉木在本组中的每个字母,如果该信字符串中的出现次数大于1,存在重复,因此计数被递增

s="aaabbcdd" 
print(set(s.lower())) 
#{'a', 'b', 'd', 'c'} 
count=0 
for c in set(s.lower()): 
    if(s.lower().count(c)>1): 
     print("charcter with more than 1 occurence : ",c) 
     print("\toccurences : ",s.lower().count(c)) 
     count=count+1 
print("count : ",count) 

# charcter with more than 1 occurence : a 
#  occurences : 3 
# charcter with more than 1 occurence : d 
#  occurences : 2 
# charcter with more than 1 occurence : b 
#  occurences : 2 
# count : 3 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)