Как удалить разделитель точек из форматированных чисел? Я получаю список с веб-сайта, используя регулярное выражение:
a = [10.000, 20.000, 25.000]
Как я могу изменить их на a = [10000, 20000, 25000]
? (Теперь они целые).
Я предполагаю, что у вас есть строки, поскольку вы получили их с веб-сайта, сначала они должны быть текстовыми.
>>> a=["10.000","20.000","25.000"]
>>> [ i.replace(".","") for i in a ]
['10000', '20000', '25000']
Если на вашем компьютере определен локаль, которая использует точку для разделителя тысяч, вы можете использовать locale.atoi:
import locale
locale.setlocale(locale.LC_ALL, 'en_DK.utf8')
a=['10.000','20.000','25.000']
a=map(locale.atoi,a)
print(a)
# [10000, 20000, 25000]
Чтобы узнать, какие локали установлены на вашем компьютере (по крайней мере, в unix), запустите
locale -a
Используйте замену как это:
mystring.replace('.', '')
По-моему, я бы удалил точки, прежде чем превращать их в числа. Вместо выполнения int(num_in_string)
выполните следующее: int(num_in_string.replace('.', ''))