如何在python中计算字母对的数量?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在python中计算字母对的数量?相关的知识,希望对你有一定的参考价值。

我不知道该怎么做,我真的很困惑。我的代码。

def count_pairs( word ):

  pairs = 0
  chars = set(word)

  for char in chars:
      pairs += word.count(char + char)

  return pairs

请帮帮我!谢谢你的帮助

答案

for 循环只是为了遍历适当的 i,不 径直 来进行比较。 你需要从 i 在0处,并遍历 i+1 是字符串中的最后一个索引。 在纸上计算出来。

或者,使用 i-1i; 那么你要开始 i-1 为0,这样可以减少输入的次数。

for i in range(1, len(word)):
    if word[i] == word[i-1]:
        ...

甚至更好的是,根本不用计数器 -- 做一个等价结果的列表,然后计算出 True 值。

return sum([word[i] == word[i-1] for i in range(1, len(word))])

这是一个有点 "肮脏的把戏",使用的事实是: True 评价为1和 False 为0。

另一答案

如果你想循环处理指数而不是实际的字符,你可以这样做。

for i in range(len(word)):
    # do something with word[i] and/or word[i+1] or word[i-1]

首先将字符串转换为一个集合是适得其反的,因为它去掉了排列顺序。 的重复,使得整个问题不可能解决,原因有两个:)

另一答案

这里有一个答案。

test = "ddogccatppig"

def count_pairs(test):
  counter = 0
  for i in range(0,len(test)-1):
    if test[i] == test[i+1]
      counter+=1
  return counter

print(count_pairs(test))

在这里你要遍历字符串的长度(减1,因为否则你会得到一个索引越界的异常). 如果字母与前面的字母相同,则加到一个计数器中,然后返回。

以上是关于如何在python中计算字母对的数量?的主要内容,如果未能解决你的问题,请参考以下文章

已知字符串,计算该字符串小写字母的数量用python怎么写

如何在 python 中并行化以下代码片段?

如何计算特定字母在字符串中出现的次数? (C++)

优化程序计算总和等于一个数 N (N <1,000,000) 的素数对的数量

如何确定可以从一袋字母和一袋单词python中组成的单词的数量和集合

python如何在给定的字符串中,统计某个特定子串的数量?