У меня есть этот код, используя collections Counter
, чтобы найти количество общих букв в двух строках.Количество общих букв в двух строках
from collections import Counter
a = "abcc"
b = "bcaa"
answer = 0
ac = Counter(a)
bc = Counter(b)
for key in ac:
answer += min(ac[key], bc[key])
print answer
Решение пытается найти ряд общих букв в обеих строках (тот же буквы, все еще подсчитываются) Мой вопрос, я эта логика разработана, но я боюсь, что это может быть колесо заново. Есть ли какие-либо внедренные методы или более простой способ сделать это?
Примечание: Мой вопрос отличается от вопросов, которые пытаются найти общие буквы между строками, мне просто нужен счет, поэтому я ожидаю найти что-то основное.
Вы можете уточнить, должна ли функция возвращать абсолютное число общих символов (как описано в ответе Ашанула Хэка) или общее количество общих символов (включая дубликаты символов, найденных в каждой строке)? – lesingerouge
Я добавил его в комментарии в своем ответе. –
@MaxPythone Пожалуйста, не добавляйте важную информацию в комментарии (только), особенно в комментариях ниже ответов. Ответы и комментарии могут иногда удаляться по разным причинам, а затем ваша информация теряется. Кроме того, люди должны будут прочитать все ответы и комментарии, прежде чем сможете правильно понять вашу проблему, что плохо. Всегда задавайте свой вопрос, чтобы добавлять новую информацию, а затем уведомлять людей, заинтересованных в ней, используя комментарии. –