Как добавить символ в начало строки python
Перейти к содержимому

Как добавить символ в начало строки python

  • автор:

Как добавить в начало строки n символов на python?

Есть строка из произвольного количества символов, как можно добавить в её начало n символов с?

rjust не подходит.

Сейчас делаю, так, но думаю, есть что-то лучше.

Исходя из предложенных ответов делаю вывод, чтобы добавить строке s в начало n символов c, достаточно следующего кода

Можно сделать новую строку через формат строки для питона 3.6+:

Для более ранних версий питона можно сделать так:

Vadik Sirekanyan's user avatar

Andy Pavlov's user avatar

Элементарно, ка то так:

Dmitry's user avatar

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.6.8.43486

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Python 3: Строки. Функции и методы строк¶

Определение позиции подстроки в строке с помощью функций str.find и str.rfind .

Функция str.find показывает первое вхождение подстроки. Все позиции возвращаются относительно начало строки.

Можно определить вхождение в срезе. первое число показывает начало среза, в котором производится поиск. Второе число — конец среза. В случае отсутствия вхождения подстроки выводится -1.

Функция str.rfind осуществляет поиск с конца строки, но возвращает позицию подстроки относительно начала строки.

Python: Извлекаем имя файла из URL¶

Понадобилось мне отрезать от URL всё, что находится после последнего слэша, т.е.названия файла. URL можеть быть какой угодно. Знаю, что задачу запросто можно решить с помощью специального модуля, но я хотел избежать этого. Есть, как минимум, два способа справиться с поставленным вопросом.

Способ №1¶

Достаточно простой способ. Разбиваем строку по слэшам с помощью функции split() , которая возвращает список. А затем из этого списка извлекаем последний элемент. Он и будет названием файла.

Повторим шаг с присвоением переменной:

Способ №2¶

Второй способ интереснее. Сначала с помощью функции rfind() находим первое вхождение с конца искомой подстроки. Функция возвращает позицию подстроки относительно начала строки. А далее просто делаем срез.

Руководство по манипулированию строки Python

Струнные манипуляции – одна из тех действий в программировании, которые мы, как программисты, делаем все время. Во многих языках программирования вы должны сделать много тяжелого подъема самостоятельно. В Python, с другой стороны, у вас есть несколько встроенных функций в стандартной библиотеке, чтобы помочь вам манипулировать строками во многих различных способах. В этой статье я покажу вам, как работать с строками, специально наряду с некоторыми приятными трюками. Быстрая информация: Вы можете скачать PDF версию этого Python String Manipulation Handbook здесь Отказ Готов погрузиться в?

Оглавление

  1. Основы строки Python
  2. Как разделить строку в Python
  3. Как удалить все белые пробелы в строке в Python
  4. Как обрабатывать многослойные строки в Python
  5. lstrip (): как удалить пробелы и символы с начала строки в Python
  6. RSTRIP (): Как удалить пробелы и символы с конца строки в Python
  7. Стрип (): как удалить пробелы и символы с начала и конца строки в Python
  8. Как сделать целый ряд строчной буквы в Python
  9. Как сделать целый строковый прописными буквами в Python
  10. Как использовать титульный случай в Python
  11. Как использовать чехол Swap в Python
  12. Как проверить, пустая строка в Python
  13. Rjust (): как правильно озвучить строку в Python
  14. Ljust (): как оставить – обосновать строку в Python
  15. Isalnum (): Как проверить буквенно-цифровые символы только в строке в Python
  16. ISPRINTABLE (): Как проверить для печатных игр в строке в Python
  17. ISSPACE (): Как проверить белое пространство только в строке в Python
  18. StartSwith (): Как проверить, начинается ли строка с определенного значения в Python
  19. Capitalize (): Как установить первый персонаж только в верхний регистр в строке в Python
  20. Isupper (): Как проверить на верхний регистр только в строке в Python
  21. Присоединяйтесь к (): Как присоединиться к элементам элементами для одной строки в Python
  22. Сплитлины (): Как разделить строку на перерывах линии в Python
  23. islower (): Как проверить на нижний регистр только в строке в Python
  24. ISNUMERIC (): Как проверить числовые численности только в строке в Python
  25. ISDIGIT (): Как проверить цифры только в строке в Python
  26. Isdecimal (): Как проверить десятичные дроби только в строке в Python
  27. ISALPHA (): Как проверить буквы только в строке в Python
  28. Istitle (): Как проверить, начинается ли каждое слово с верхнего регистра в строке в Python
  29. ExpandTabs (): Как установить количество пробелов для вкладки в строке в Python
  30. Центр (): Как центрировать строку в Python
  31. zfill (): Как добавить нули в строку в Python
  32. Найти (): Как проверить, имеет ли строка определенную подстроку в Python
  33. Как удалить префикс или суффикс в строке в Python
  34. lstrip () vs readleprefix () и rstrip () vs removeuffix ()
  35. Как нарезка работает в Python
  36. Как изменить строку в Python
  37. Заключение

Основы строки Python

текст Тип является одним из наиболее распространенных типов и часто называют строка Или, в Python, просто ул . | Отказ

Как объединять строки

Вы можете использовать + Оператор к объединенным строкам.

ConcateNation – это когда у вас есть две или более строки, и вы хотите присоединиться к ним в один.

Как выбрать CHAR

Чтобы выбрать CHAR, используйте [] и укажите положение CHAR.

Положение 0 относится к первой позиции.

Как получить размер строки

Лен () Функция возвращает длину строки.

Как заменить часть строки

заменить () Способ заменяет часть строки другой. В качестве примера давайте заменим «Рио» на «Мар».

Рио означает реку на португальском и Мар означает море – просто так вы знаете, что я не выбрал эту замену так случайно.

Как считать

Укажите, что рассчитывать как аргумент.

В этом случае мы считаем, сколько пробелов существует в «Рио-де-Жанейро», который является 2.

Как повторить строку

Вы можете использовать * Символ, чтобы повторить строку.

Здесь мы умножаем слово «Токио» на 3.

Как разделить строку в Python

Разделение струны на более мелкие части – это очень распространенная задача. Для этого мы используем Сплит () Метод в Python.

Давайте посмотрим некоторые примеры о том, как это сделать.

Пример 1: используйте пробелы в качестве разделителей

В этом примере мы разделяем фразу на пробеле, создавая список с именем my_words с пятью элементами, соответствующими каждому слову в фразе.

Обратите внимание, что по умолчанию Сплит () Метод использует любое последовательное количество пробелов в качестве разделителей. Мы можем изменить код выше:

Выход то же самое, так как у нас есть только один пробел между каждым словом.

Пример 2: пройти разные аргументы в качестве разделителей

При работе с данными очень часто читают некоторые файлы CSV для извлечения информации от них.

Таким образом, вам может потребоваться сохранить некоторые конкретные данные из определенного столбца.

Файлы CSV обычно имеют поля, разделенные с запятой «;» или запятая »,”.

В этом примере мы собираемся использовать Сплит () метод, проходящий в качестве аргумента конкретный разделитель, «;» в таком случае.

Как удалить все белые пробелы в строке в Python

Если вы хотите по-настоящему удалить любое пространство в строке, оставляя только символы, лучшее решение – использовать регулярное выражение.

Вам нужно импортировать Re Модуль, который обеспечивает регулярные экспрессии.

Обратите внимание, что \ S представляет не только пространство » , но и форма корма \ f , линия подачи \ N перевозка возврата \ R , вкладка \ T и вертикальная вкладка \ v Отказ

Таким образом, \ s = [\ f \ n \ r \ t \ v] Отказ

+ Символ называется квантификатором и читается как «один или несколько». Это означает, что в этом случае он будет рассмотрен один или несколько белых пробелов, поскольку он расположен сразу после \ S Отказ

Оригинальная переменная фраза остается такой же. Вы должны назначить новую очищенную строку в новую переменную, Fase_no_space в таком случае.

Как обрабатывать многослойные строки в Python

Тройные цитаты

Чтобы обрабатывать многослойные струны в Python, вы используете тройные цитаты, либо одиноки, либо двойные.

Этот первый пример использует двойные кавычки.

Сейчас так же, как и раньше, но с одиночными цитатами:

Обратите внимание, что оба выхода одинаковы.

Круглые скобки

Давайте посмотрим пример с круглыми скобками.

Как видите, результат не то же самое. Для достижения новых строк я должен добавить \ N , как это:

Вершины

Наконец, обратные косания также являются возможностью.

Уведомление нет места после \ персонаж, как он бросил бы ошибку.

lstrip (): как удалить пробелы и символы с начала строки в Python

Используйте lstrip () Способ удаления пробелов с начала строки.

Обратите внимание, что оригинал Regular_Text Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, no_space_begin_text в таком случае.

Как удалить символы

lstrip () Метод также принимает определенные символы для удаления в качестве параметров.

RSTRIP (): Как удалить пробелы и символы с конца строки в Python

Используйте RSTRIP () Способ удаления пробелов с конца строки.

Обратите внимание, что оригинал Regular_Text Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, no_space_end_text в таком случае.

RSTRIP () Метод также принимает определенные символы для удаления в качестве параметров.

Стрип (): как удалить пробелы и символы с начала и конца строки в Python

Используйте полоса () Способ удаления пробелов с самого начала и конца строки.

Обратите внимание, что оригинал Regular_Text Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, no_space_text в таком случае.

полоса () Метод также принимает определенные символы для удаления в качестве параметров.

Как сделать целый ряд строчной буквы в Python

Используйте ниже () Способ преобразования целой строки в строчные буквы.

Обратите внимание, что оригинал Regular_Text Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, lower_case_text в таком случае.

Как сделать целый строковый прописными буквами в Python

Используйте Верхний () Способ преобразования целой строки в прописные буквы.

Обратите внимание, что оригинал Regular_Text Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, experty_case_Text в таком случае.

Как использовать титульный случай в Python

Используйте Название () Способ преобразования первой буквы в каждое слово в верхний регистр и остальные символы в нижний регистр.

Обратите внимание, что оригинал Regular_Text Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, title_case_text в таком случае.

Как использовать чехол Swap в Python

Используйте Свапка () Способ преобразования верхних символов регистра в нижний регистр и наоборот.

Обратите внимание, что оригинал Regular_Text Переменная остается неизменным, поэтому вам нужно назначить возврат метода новой переменной, Smokt_Case_Text в таком случае.

Как проверить, пустая строка в Python

Питоновый способ проверить, если строка пусто использует не оператор.

Чтобы проверить напротив и посмотреть, является ли строка не Пусто, сделайте это:

Rjust (): как правильно озвучить строку в Python

Используйте Rjust () направо – оправдать строку.

Обратите внимание на пробелы во второй строке. Слово «Beach» имеет 5 символов, что дает 27 пространства для заполнения пустым пространством.

Оригинал слово Переменная остается неизменным, поэтому нам нужно назначить возврат метода новой переменной, word_justied в таком случае.

Rjust () Также принимает определенный символ в качестве параметра для заполнения оставшегося пространства.

Похоже на первую ситуацию, у меня есть 27 $ Знаки, чтобы сделать его 32, когда я считаю 5 символов, содержащихся в словом «Beach».

Ljust (): как оставить – обосновать строку в Python

Используйте ljust () покинуть – оправдать строку.

Обратите внимание на пробелы во второй строке. Слово «Beach» имеет 5 символов, что дает 27 пространства для заполнения пустым пространством.

Оригинал слово Переменная остается неизменным, поэтому нам нужно назначить возврат метода новой переменной, word_justied в таком случае.

ljust () Также принимает определенный символ в качестве параметра для заполнения оставшегося пространства.

Похоже на первую ситуацию, у меня есть 27 $ Знаки, чтобы сделать его 32, когда я считаю 5 символов, содержащихся в словом «Beach».

Isalnum (): Как проверить буквенно-цифровые символы только в строке в Python

Используйте Isalnum () Метод проверки, содержит ли строка только буквенно-цифровые символы.

ISPRINTABLE (): Как проверить для печатных игр в строке в Python

Используйте Isprintable () Метод проверки, являются ли символы в строке печати.

Обратите внимание, что в первых 4 примерах каждый символ занимает некоторое пространство, даже если это пустое место, как вы можете видеть в первом примере.

Последний пример возвращается Ложь Показаны 5 видов символов, которые непечатаются: Form Feed \ f , линия подачи \ N перевозка возврата \ R , вкладка \ T и вертикальная вкладка \ v Отказ

Некоторые из этих «невидимых» персонажей могут испортить свою печать, давая вам неожиданный выход, даже когда все выглядит «хорошо».

ISSPACE (): Как проверить белое пространство только в строке в Python

Используйте ISSPACE () Метод проверки, являются ли символы в строке все белые пробелы.

Уведомление во втором примере того, что белое пространство не только » , но и форма корма \ f , линия подачи \ N перевозка возврата \ R , вкладка \ T и вертикальная вкладка \ v Отказ

StartSwith (): Как проверить, начинается ли строка с определенного значения в Python

Используйте StartSwith () Метод проверки, начинается ли строка с определенного значения.

Вы также можете установить, если вы хотите начать совпадение в определенной позиции и завершить его в другом определенном положении строки.

Наконец, вы можете проверить несколько строк одновременно. Вместо того, чтобы использовать какую-то цикл, вы можете использовать кортеж в качестве аргумента со всеми строками, которые вы хотите соответствовать.

Capitalize (): Как установить первый персонаж только в верхний регистр в строке в Python

Используйте капитализировать () Способ преобразования в верхний регистр только первый символ в строке.

Остальная часть строки преобразуется в нижний регистр.

Обратите внимание, что любой счет символов, такой как номер или специальный символ. Так что в последнем примере 3 Является ли первым символом и не имеет никаких изменений, в то время как остальная часть строки преобразуется в нижний регистр.

Isupper (): Как проверить на верхний регистр только в строке в Python

Используйте Isupper () Метод проверки, если символы в строке все в верхнем регистре.

Если вы заметите последний пример, номера и специальные символы, такие как @ и $ В строке не имеют никакой разницы и Isupper () все еще возвращается Правда Поскольку метод проверяет только алфавитные символы.

Присоединяйтесь к (): Как присоединиться к элементам элементами для одной строки в Python

Используйте Присоединяйтесь () Способ присоединиться к всем элементам, если в строку.

Основной синтаксис: rings.join (потенциал)

Согласно синтаксису выше, строка требуется в качестве сепаратора.

Способ возвращает новую строку, что означает, что оригинальный итератор остается неизменным.

Так как Присоединяйтесь () Способ принимает только строки, если какой-либо элемент в Iterable имеет другой тип, ошибка будет брошена.

Давайте посмотрим некоторые примеры с: строка, список, кортеж, набор и словарь

Присоединиться (): строки

Присоединяйтесь () Метод ставит $ Знак как сепаратор для каждого символа в строке.

Присоединяйтесь (): списки

У меня простой список трех предметов, представляющих автомобильные бренды.

Присоединяйтесь () Метод будет использовать $ Знак как сепаратор.

Он объединяет все предметы в списке и ставит $ знак между ними.

Этот пример напоминает вам, что Присоединяйтесь () не работает со строковыми элементами.

При попытке объединить int Элементы, ошибка поднимается.

Присоединиться (): кортежи

Текет следует за тем же обоснованным, поскольку пример списка объясняется ранее.

Опять же, я использую $ Знак как сепаратор.

Присоединиться (): наборы

Поскольку набор также такой же, как кортеж и список, я использовал другой сепаратор в этом примере.

Присоединиться (): словари

Словарь имеет пойму при использовании Присоединяйтесь () Способ: он присоединяется к ключам, а не значения.

В этом примере показано конконтрация клавиш.

Сплитлины (): Как разделить строку на перерывах линии в Python

Используйте Сплитлины () Способ разделить строку на разрывах линии.

Возвращение метода представляет собой список линий.

Если вы хотите сохранить перерыв линии, Сплитлины () Принимает параметр, который можно установить на Правда , по умолчанию есть Ложь Отказ

islower (): Как проверить на нижний регистр только в строке в Python

Используйте islower () Метод проверки. Если символы в строке все в нижнем регистре.

Если вы заметите в последнем примере, номера и специальные символы, такие как @ и $ В строке не имеют никакой разницы и islower () все еще возвращается Правда Поскольку метод проверяет только алфавитные символы.

ISNUMERIC (): Как проверить числовые численности только в строке в Python

Используйте Isnumeric () Метод проверки, содержит ли строка только числовые символы.

Числовые включают число от 0 до 9 и комбинации их, римских цифр, суперскрипет, подписку, фракций и других вариаций.

isdecimal () более строгим, чем Isdigit () , который в свою очередь строчен, чем Isnumeric () Отказ

ISDIGIT (): Как проверить цифры только в строке в Python

Используйте Isdigit () Метод проверки, содержит ли строка только цифры.

Цифры включают номера от 0 до 9, а также Superscripts и подписи.

isdecimal () более строгим, чем Isdigit () , который в свою очередь строчен, чем Isnumeric () Отказ

Isdecimal (): Как проверить десятичные дроби только в строке в Python

Используйте isdecimal () Способ проверки, если строка содержит только десятичные дроби, то есть только номера от 0 до 9 и комбинации этих чисел.

Подписки, суперскрипты, римские цифры и другие вариации будут возвращены как Ложь Отказ

isdecimal () больше строго, чем Isdigit () , который в свою очередь более строгим, чем Isnumeric () Отказ

ISALPHA (): Как проверить буквы только в строке в Python

Используйте Isalpha () Способ проверки, содержит ли строка только буквы.

Istitle (): Как проверить, начинается ли каждое слово с верхнего регистра в строке в Python

Используйте ISTITLE () Метод проверки Если первый символ в каждом слове в строке является прописным регистром, а другие символы строчные.

Если вы заметите в последнем примере, номера и специальные символы, такие как @ и $ В строке не имеют никакой разницы и ISTITLE () все еще возвращается Правда Поскольку метод проверяет только алфавитные символы.

ExpandTabs (): Как установить количество пробелов для вкладки в строке в Python

Используйте ExpandTabs () Метод для установки количества пробелов для вкладки.

Вы можете установить любое количество пробелов, но когда никакой аргумент не приведен, по умолчанию используется 8.

Базовое использование

Обратите внимание на 7 пробелов между буквами B и R.

\ T находится в положении два после одного символа, поэтому он будет заменен на 7 пробелов.

Давайте посмотрим на другой пример.

С Мир имеет четыре персонажа, \ T Заменяется 4 пробелами, чтобы сделать его в общей сложности 8, размер вкладки по умолчанию.

Код ниже дает нам 4 Пространства для первой вкладки после четырех персонажей «Мир» и 7 Пространства для второй вкладки после одного символа ‘d’.

Пользовательские табуляции

Можно установить TABSIZE по мере необходимости.

В этом примере Tabsize IS 4 , что дает нам 3 пространства после CHAR ‘B’.

Этот код имеет TABSIZE, установленный на 6 , что дает нам 5 пробелов после Char ‘B’.

Центр (): Как центрировать строку в Python

Используйте Центр () Способ для центра строки.

Обратите внимание на пробелы во второй строке. Слово «Beach» имеет 5 символов, что дает 28 пробелов для заполнения пустым пространством, 14 пробелами до 14 лет, чтобы центрировать слово.

Оригинал слово Переменная остается неизменным, поэтому нам нужно назначить возврат метода новой переменной, Word_centered в таком случае.

Центр () Также принимает определенный символ в качестве параметра для заполнения оставшегося пространства.

Похоже на первую ситуацию, у меня 14 $ В каждой стороне, чтобы сделать его 33, когда я считаю 5 символов, содержащихся в словом «Beach».

zfill (): Как добавить нули в строку в Python

Используйте zfill () Вставить нули 0 в начале строки.

Количество нулей дается числом, прошедшим, как аргумент, минус количество символов в строке.

Слово «Beach» имеет 5 символов, что дает 27 пространства для заполнения нулями, чтобы сделать его 32, как указано в переменной Size_String.

Оригинал слово Переменная остается неизменным, поэтому нам нужно назначить возврат метода новой переменной, Word_Zeros в таком случае.

Также обратите внимание, что если аргумент меньше, чем количество символов в строке, ничего не меняется.

В приведенном ниже примере «Beach» имеет 5 символов, и мы хотим добавить нули, пока не достигнет Size_String Из 4, что означает, что нечего делать.

Найти (): Как проверить, имеет ли строка определенную подстроку в Python

Используйте Найти () Метод проверки, имеет ли строка определенную подстроку.

Метод возвращает индекс первого вхождения данного значения.

Помните, что счет индекса начинается в 0.

Если значение не найдено, он вернется -1 Отказ

Вы также можете начать поиск в определенную позицию и завершить его в другом определенном положении строки.

Как удалить префикс или суффикс в строке в Python

С Python 3.9 тип строки будет иметь два новых метода.

Вы можете специально удалить префикс из строки с помощью RemovePrefix () Метод:

Или удалить суффикс, используя RemoSuffix () Метод:

Просто пройдите в качестве аргумента, который будет считать текст как префикс или суффикс, который будет удален, и метод вернет новую строку в результате.

Я рекомендую прочитать PEP 616 В официальной документации, если вам интересно, как эти функции добавляются на язык.

Это довольно простое изменение и очень дружелюбное для начинающих, чтобы привыкнуть к чтению официальной документации.

lstrip () vs readleprefix () и rstrip () vs removeuffix ()

Это вызывает путаницу для многих людей.

Легко посмотреть на lstrip () и RemovePrefix () И удивляйтесь, какая реальная разница между ними.

При использовании lstrip () Аргумент – это набор ведущих персонажей, которые будут удалены столько раз, сколько они возникают:

В то время как RemovePrefix () Удалю только точное совпадение:

Вы можете использовать ту же обоснование, чтобы различать RSTRIP () и RemoSuffix () Отказ

И как бонус, на всякий случай, если вы никогда не работали с регулярными выражениями раньше, будьте благодарны, что у вас есть полоса () Обрезать наборы символов из строки вместо регулярного выражения:

Как нарезка работает в Python

Нарезка является одним из самых полезных инструментов на языке Python.

Таким образом, важно иметь хорошее понимание того, как это работает.

Основная нажатие на нарезю

Допустим, у нас есть массив под названием «Список».

  • Начать: Где вы хотите нажатие на наличие
  • Стоп: до тех пор, пока вы хотите, чтобы наслаиться, но помните ценность Стоп не включен
  • Шаг: Если вы хотите пропустить элемент, то использование по умолчанию 1, поэтому вы проходите все элементы в массиве

Индексы

Когда нарезка, индексы указываются в между персонажи, не на персонажах.

Для слова «фильм»:

Если я ломтим от 0 до 2, я получаю «Мо» в примере выше и не ‘mov’.

Поскольку строка – это просто список символов, то же самое относится к списку:

Примеры нарезки в Python

У нас есть переменная, содержащая строку «фильм», как так:

Все приведенные ниже примеры будут применены к этому слову.

Пример 1.

Чтобы получить первые два персонажа:

Обратите внимание, что мы могли бы использовать 0 для обозначения начала, но это не нужно.

Пример 2.
Пример 3.

Пропуская буквы с шагом 2:

Как изменить строку в Python

Чтобы изменить строку, используйте синтаксис ломтика:

Slice Syntax позволяет вам установить шаг, который является -1 в примере.

Шаг по умолчанию – 1 То есть идти вперед 1 символ струны за раз.

Если вы установите шаг в -1 У вас есть противоположное, верните 1 символ за раз.

Таким образом, вы начинаете в положении последнего символа и двигайтесь назад к первому символу в положении 0.

Rukovodstvo

статьи и идеи для разработчиков программного обеспечения и веб-разработчиков.

Заполнение строк в Python

Введение Под заполнением строки понимается добавление, как правило, неинформативных символов к строке с одного или обоих концов. Чаще всего это делается для форматирования и выравнивания вывода, но может иметь полезные практические применения. Частым случаем использования строк заполнения является вывод табличной информации в табличной форме. Вы можете сделать это разными способами, включая использование Pandas для преобразования ваших данных в настоящую таблицу. Таким образом, Python будет обрабатывать форматирование вывода на нем.

Время чтения: 7 мин.

Вступление

Заполнение строк относится к добавлению, как правило, неинформативных символов к строке на одном или обоих концах. Чаще всего это делается для форматирования и выравнивания вывода, но может иметь полезные практические применения.

Частым случаем использования строк заполнения является вывод табличной информации в табличной форме. Вы можете сделать это разными способами, включая использование Pandas для преобразования ваших данных в настоящую таблицу. Таким образом, Python будет обрабатывать форматирование вывода самостоятельно.

В этой статье мы расскажем, как дополнять строки в Python.

Скажем, у нас есть три списка:

Мы можем сформировать их в строку, используя функцию join()

Дало бы нам довольно неопрятный вывод:

Чтобы бороться с этим, мы могли бы писать for / while и добавлять пробелы к строкам до тех пор, пока они не достигнут определенной длины, и следить за тем, чтобы все данные были выровнены должным образом для облегчения визуальной проверки. Или мы могли бы использовать встроенные функции, которые могут достичь той же цели.

В этой статье мы рассмотрим следующие ljust() , center() , rjust() , zfill() и format() . Любую из этих функций можно использовать для добавления определенного количества символов к любому концу строки, включая пробелы.

Типы заполнения

Прежде чем мы более подробно рассмотрим функции, упомянутые выше, мы рассмотрим различные типы заполнения, чтобы мы могли ссылаться на них, когда говорим о функциях.

Левый отступ

Добавление левого отступа к строке означает добавление заданного символа в начало строки, чтобы сделать ее указанной длины. Левое заполнение, помимо простого форматирования и выравнивания, может быть действительно полезно при именовании файлов, которые начинаются с номера, сгенерированного в последовательности.

Например, вам нужно назвать 11 файлов, и каждый из них начинается с номера от 1 до 11. Если вы просто добавите номер в начало файла, большинство операционных систем отсортируют файлы в следующем порядке: 1 , 10 , 11 , 2 и так далее.

Это происходит, конечно, из-за правил лексикографической сортировки, но вы можете избежать этих ситуаций, называя файлы одним или несколькими ведущими нулями, в зависимости от того, сколько файлов вы ожидаете, например: 01 , 02 , 03 .

Это может быть достигнуто путем эффективного заполнения чисел слева соответствующим количеством нулей, которые сохраняют их исходное значение.

Это дает эффект выравнивания строк по левому краю.

Прокладка по центру

Это означает, что данный символ добавляется в равной мере к обеим сторонам строки, пока новая строка не достигнет заданной длины. Использование этого эффективно центрирует строку по предоставленной длине:

Это обычная строка.

. Это струна с мягкой подкладкой по центру. .

Правый отступ

Правое заполнение аналогично левому заполнению — данный символ добавляется в конец строки, пока строка не достигнет определенной длины.

Функции Python для заполнения строк

Python предлагает множество функций для форматирования и обработки строк, их использование зависит от варианта использования и личных предпочтений разработчика. Большинство функций, которые мы обсудим, имеют дело с выравниванием текста, которое, по сути, добавляет отступ к одной стороне строки. Например, чтобы строка была выровнена по левому краю , нам нужно добавить отступ в конец (с правой стороны) строки.

Примечание. Во всех функциях, которые ожидают width или len , в случае, если исходная строка длиннее указанной width или len вся строка будет сохранена без изменений. Это может иметь нежелательный эффект, когда длинные строки портят форматирование, поэтому при выборе width убедитесь, что вы указали самую длинную строку в учетной записи или в верхней границе длины.

похоть ()

Функция ljust() выравнивает строку по левому краю, добавляя правый отступ.

Функция ljust() принимает два параметра: width и fillchar . width является обязательной и определяет длину строки после добавления заполнения, а второй параметр является необязательным и представляет собой добавленный символ в исходной строке.

Значение по умолчанию — пробел , то есть ‘ ‘ . Это особенно хороший вариант для печати табличных данных, как в нашем примере в начале:

Что дает нам результат:

центр()

Функция center() выравнивает строку по центру указанной width путем равномерного добавления отступов с обеих сторон. Параметры такие же, как у функции ljust() , обязательная width и необязательный параметр fillchar

rjust ()

Аналогично двум предыдущим функциям, rjust() выравнивает строку по правому краю, добавляя отступ слева (в начале) строки.

Опять же, параметрами являются требуемая width и необязательный fillchar . Как мы упоминали ранее, эта функция очень полезна при именовании файлов, начинающихся с цифр, из-за более интуитивной сортировки:

Запуск этого кода даст нам:

zfill ()

Функция zfill() работает очень похоже на использование rjust() с нулем в качестве указанного символа. Он заполняет данную строку нулями до тех пор, пока строка не достигнет заданной длины.

Единственное отличие состоит в том, что если наша строка начинается со + ) или минус ( — ), заполнение начнется после этого знака:

Это сделано, чтобы сохранить исходное значение числа в случае, если строка была числом. Запуск этого кода даст нам:

формат()

Функция format() является самой продвинутой в списке. Эта единственная функция может использоваться для левого, правого и даже центрального отступа. Он также используется для другого форматирования , но мы рассмотрим только функции заполнения, которые он предоставляет.

Он возвращает строку после форматирования указанных значений и помещения их внутри строковых заполнителей, определенных <> .

Заполнители можно идентифицировать по именованным индексам, нумерованным индексам или даже по пустым фигурным скобкам. Быстрый пример того, как выглядят эти заполнители, прежде чем мы увидим, как мы можем использовать эту функцию для добавления отступов:

Эти заполнители допускают множество вариантов форматирования. Давайте посмотрим, как можно добиться различных типов заполнения строк, используя эти параметры:

Отступ слева: используйте > внутри заполнителя и числа, чтобы указать желаемую ширину, чтобы выровнять строку по правому краю (добавляйте символы в начале):

Отступ по центру: Аналогично, мы можем использовать ^ для отступа / выравнивания по центру:

Отступ справа: используйте < внутри заполнителей, чтобы выровнять строку по левому краю:

Вы также можете добавлять символы, отличные от пробелов, путем добавления указанных символов перед символом > , ^ или < :

Вы можете узнать больше о различных возможностях функции format() в нашем Руководстве по форматированию строк с помощью Python .

Заключение

Добавление отступов к строкам в Python — относительно простой процесс, который может заметно повысить удобочитаемость вашего вывода, особенно если данные, которые у вас есть, могут быть прочитаны в виде таблицы.

В этой статье мы рассмотрели функции ljust() , rjust() , center() , zfill() и format() как встроенные подходы к заполнению строк в Python.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *