【问题标题】:Count number of matches between two strings python计算两个字符串python之间的匹配数
【发布时间】:2014-06-28 10:21:36
【问题描述】:

给定两个长度相等的字符串,如何返回字符串在给定索引处具有相同字符的次数?

所以:count_matches("bob","boa") 将给出 2,因为索引 0 包含相同的字符,索引 1 也是如此。

但是,count_matches('bob', 'bbo') 只会返回 1,因为两者中字符相同的唯一索引是索引 0。虽然两者都有两个'b's,但只有一个在相应的索引处。

【问题讨论】:

  • 到目前为止你有没有尝试过?
  • 抱歉,我应该澄清一下我假设字符串的长度相同。

标签: python string comparison indices


【解决方案1】:

我假设您的意思是两个字符串中字符相同的索引数。

因此,我会这样做:

>>> sum(a==b for a, b in zip('bob', 'boa'))
2

将其包装在一个函数中应该是微不足道的。

【讨论】:

  • sum(a==b for a, b in zip('bob', 'bba')) 会失败;除非这是预期的行为。
  • @s16h 我的回答是基于假设 OP 表示相应索引中匹配字符的数量。社区似乎同意这种情况。
  • 这是不正确的,打印 1 表示 `sum(a==b for a, b in zip('bob', 'bbo'))`
  • 这就是我正在寻找的行为。
  • @PadraicCunningham 不,这将是正确的输出,OP 仅在相应索引处寻找匹配项。
猜你喜欢
  • 1970-01-01
  • 2021-02-15
  • 2018-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-12
相关资源
最近更新 更多