строках (номерах телефона)
т.е что во всем списке телефоны начинаются с одних цифр, причем число этих одинаковых цифр плавающее.
Кроме тупого перебора пока ничего в голову не приходит, есть какой-нибудь алгоритм побыстрее?)
Регуляркой можно
Ну не, слишком больно))
Можешь дать пример в каком формате номера, от чего зависит количество взятых цифр и какую часть нужно сравнивать? А-то может у тебя "80001234567" А может "+7 (777) 12-34-567"
"80001234567" Вот так))
а в чем проблема регуляркой или если это строки слайсы например
Я с ними не дружу0
А это зря рекомендую подружить очень сильно упрощает жизнь
Может глупо, а startswith() не?
Ну и так тоже можно phone_list = ['89123457689','89123457680','89123451689','89123453689','89123459689','89123457609','89123857689'] common_digits = '' for digits in zip(*phone_list): if len(set(digits)) == 1: common_digits += digits[0] else: break print(common_digits) Там вариантов много - можно просто несколько разных перебрать. Я не знаю чем текущий то не устраивает?
Да просто красоты хотелось...
Обсуждают сегодня