2014-05-10 3 views
2

길이가 같은 두 개의 문자열이 주어지면 주어진 인덱스에서 문자열의 문자 수가 같은 횟수를 반환하려면 어떻게해야합니까?두 문자열 사이의 일치 개수 계산 python

그래서 : count_matches("bob","boa")0가 동일한 문자를 보유하고 인덱스로 2을 줄 것 때문에 인덱스 1 않습니다.

그러나 count_matches('bob', 'bbo')0 인 두 문자에서 동일한 문자 인 유일한 색인으로 1 만 반환합니다. 두 가지 모두에 'b'이 두 개 있지만 그 중 하나만이 해당 색인에 있습니다.

+0

지금까지 실제로 시도한 적이 있습니까? – jonrsharpe

+0

죄송합니다. 문자열 길이가 같다고 가정해야합니다. – goodcow

답변

12

두 문자열에서 문자가 같은 인덱스의 수를 의미한다고 가정합니다.

그러므로 나는 할 것이다 : 함수에 사소한해야

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

포장을.

+0

'sum (a == b, z는 b ('bob', 'bba'))';에 실패합니다. 그것이 예상되는 행동이 아니라면. – s16h

+0

@ s16h 나는 OP가 해당 색인에서 일치하는 문자의 수를 의미한다고 가정하고 대답했습니다. 커뮤니티는 이것이 사실이라고 동의하는 것 같습니다. –

+0

이것은 올바르지 않습니다. 합계에 1을 인쇄합니다. (a == b, z는 b ('bob', 'bbo'))' –