Не выводятся ведущие нули

Почему при выводе списка строк в номерах, которые начинаются с нуля, не выводятся сами нули?

import re

def sanitize_phone_number(phone):
    phone_numbers = [re.sub('\D', '', digi)
                     for digi in [phone_number
                     for phone_number in phone]]
    phone_numbers = [int(phone_number) for phone_number in phone_numbers]
    print(phone_numbers)
    return phone_numbers

phones = ["    +38(050)123-32-34",
    "     0503451234",
    "(050)8889900",
    "38050-111-22-22",
    "38050 111 22 11   "]
sanitize_phone_number(phones)

Проблема вроде в 7-ой строке. Подскажите, как её исправить?


Ответы (1 шт):

Автор решения: Павел

Потому что в этой строке

phone_numbers = [int(phone_number) for phone_number in phone_numbers]

Вы из списка строк делаете список чисел типа int, этот тип данных не сохраняет ведущие нули.

Если просто закомментировать данную строку, то вывод будет с ведущими нулями:

['380501233234', '0503451234', '0508889900', '380501112222', '380501112211']
→ Ссылка