Python Portal
55.1K subscribers
2.48K photos
405 videos
51 files
1.02K links
Всё самое интересное из мира Python

Связь: @devmangx

РКН: https://clck.ru/3GMMF6
Download Telegram
Немного базы Python. День 11 - Добавление разделителя тысяч

Если вы работаете с большими числами и хотите добавить разделитель, чтобы их было проще читать, есть несколько способов это сделать. Вот некоторые из них:

▪️Использование функции format

List comprehension проходит по каждому элементу (числу) в my_list. Для каждого числа он форматирует его в строку с разделителями тысяч запятыми, используя строку формата '{:,}'.format(num).

my_list = [10898767, 9876780, 9908763]

new_list = ['{:,}'.format(num) for num in my_list]
print(new_list)

# ['10,898,767', '9,876,780', '9,908,763']


Вывод печатает new_list, который содержит отформатированные строки с разделителями запятыми.

▪️Использование f-строк

Также можно использовать f-строки, чтобы добавить разделители тысяч. Обратите внимание ниже: вместо запятой (,) как разделителя мы используем подчёркивание (_).

my_list = [10898767, 9876780, 9908763]

new_list = [f"{num:_}" for num in my_list]
print(new_list)

# ['10_898_767', '9_876_780', '9_908_763']


Заметили, что в обоих случаях мы используем list comprehension, чтобы добавить разделитель? Крутая штука, правда? 😉

▪️Использование модуля locale

Модуль locale даёт способ форматировать числа с разделителями тысяч в соответствии с текущими настройками локали. Вы можете выставить нужную локаль и использовать метод locale.format_string(). Вот как это выглядит на практике:

import locale

my_list = [10898767, 9876780, 9908763]
formatted_list = []

for num in my_list:
# Set the locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
formatted_list.append(locale.format_string("%d", num, grouping=True))

print(formatted_list)


Этот код проходит по каждому числу в my_list через цикл for. Он задаёт нужную локаль 'en_US.UTF-8' с помощью locale.setlocale(locale.LC_ALL, 'en_US.UTF-8'). Это выставляет локаль на США с кодировкой UTF-8, где для тысяч используются запятые. Дальше locale.format_string('%d', num, grouping=True) форматирует число (num) в строку с разделителями тысяч. Спецификатор формата '%d' означает, что число нужно форматировать как целое, а grouping=True указывает, что разделители тысяч должны быть включены.

👉 @PythonPortal #100daysofpython
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍8
Немного базы Python. # 12 - Startswith и Endswith

startswith() и endswith() это строковые методы, которые возвращают True, если строка начинается или заканчивается указанным значением. Эти методы можно использовать в разных ситуациях, когда нужно проверить префикс или суффикс у строки. Они особенно полезны для фильтрации и задач валидации.

- Использование метода Startswith

Допустим, ты хочешь получить все имена в списке, которые начинаются на a. Вот как можно использовать startswith() для этого:

list1 = ['lemon', 'Orange',
'apple', 'apricot']

new_list = [fruit for fruit in list1 if fruit.startswith('a')]
print(new_list)


['apple', 'apricot']


- Использование метода Endswith

Метод endswith() можно использовать для валидации ввода пользователя. Например, если нужно проверить, что пользователь ввёл корректный Gmail-адрес, можно убедиться, что ввод заканчивается на gmail.com:

user_input = input("Введите email-адрес: ")

if user_input.endswith("@gmail.com"):
print("Валидный email-адрес.")
else:
print("Невалидный email-адрес.")


👉 @PythonPortal #100daysofpython
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍8🤔3🌭2