String Alignment and Padding in Python
In Python, you can align and pad strings to make them visually consistent in output. The main methods used for this are:
str.ljust()– Left-justify a string.str.rjust()– Right-justify a string.str.center()– Center-align a string.str.zfill()– Pad with leading zeros.
strip()– Removes leading and trailing characters.lstrip()– Removes leading (left-side) characters.rstrip()– Removes trailing (right-side) characters.
1. str.ljust(width, fillchar)
Left-aligns the string and fills remaining space with a specified character (default: space).
Syntax:
python
string.ljust(width, fillchar=' ')
width: Total length of the padded string.fillchar(optional): Character used for padding (default: space).
Example:
python
text = "Python" print(text.ljust(10)) # Output: 'Python ' (padded with spaces) print(text.ljust(10, '-')) # Output: 'Python----'
2. str.rjust(width, fillchar)
Right-aligns the string and fills remaining space with a specified character.
Syntax:
python
string.rjust(width, fillchar=' ')
- Same parameters as
ljust().
Example:
python
text = "Python" print(text.rjust(10)) # Output: ' Python' print(text.rjust(10, '*')) # Output: '****Python'
3. str.center(width, fillchar)
Centers the string and pads both sides equally.
Syntax:
python
string.center(width, fillchar=' ')
Example:
python
text = "Python" print(text.center(10)) # Output: ' Python ' print(text.center(10, '=')) # Output: '==Python=='
4. str.zfill(width)
Pads a numeric string with leading zeros.
Syntax:
python
string.zfill(width)
width: Minimum length of the resulting string.
Example:
python
num = "42"
print(num.zfill(5)) # Output: '00042'
num = "-3.14"
print(num.zfill(8)) # Output: '-0003.14' (zeros after the sign)
String strip() Methods in Python
Python provides several methods to remove leading and trailing characters (like whitespace or specific characters) from strings. These methods are:
strip()– Removes leading and trailing characters.lstrip()– Removes leading (left-side) characters.rstrip()– Removes trailing (right-side) characters.
1. strip([chars])
Removes both leading and trailing specified characters (default: whitespace).
Syntax:
python
string.strip([chars])
chars(optional): A string specifying the characters to remove. If omitted, removes whitespace (,\t,\n).
Examples:
python
text = " Hello, Python! "
print(text.strip()) # Output: "Hello, Python!" (removes leading & trailing spaces)
text = "----Hello----"
print(text.strip('-')) # Output: "Hello" (removes '-' from both ends)
text = "abcHelloabca"
print(text.strip('abc')) # Output: "Hello" (removes 'a', 'b', 'c')
2. lstrip([chars])
Removes leading (left-side) characters.
Syntax:
python
string.lstrip([chars])
Examples:
python
text = " Hello "
print(text.lstrip()) # Output: "Hello " (removes leading spaces)
text = "###Hello###"
print(text.lstrip('#')) # Output: "Hello###" (removes '#' from left)
3. rstrip([chars])
Removes trailing (right-side) characters.
Syntax:
python
string.rstrip([chars])
Examples:
python
text = " Hello "
print(text.rstrip()) # Output: " Hello" (removes trailing spaces)
text = "Hello!!!"
print(text.rstrip('!')) # Output: "Hello" (removes '!' from right)
Key Points
- If no
charsargument is given, whitespace (,\t,\n) is removed. - The methods do not modify the original string (strings are immutable in Python). Instead, they return a new string.
- The
charsargument treats all characters individually, not as a substring.
Example: Removing Multiple Characters
python
text = "xyxHello yx"
print(text.strip('xy')) # Output: "Hello " (removes 'x' and 'y' from both ends)
Common Use Cases
- Cleaning User Input:pythonuser_input = ” user@example.com ” cleaned_input = user_input.strip() print(cleaned_input) # Output: “user@example.com”
- Removing Trailing Newlines (
\n):pythonline = “Hello\n” print(line.rstrip()) # Output: “Hello” - Stripping Specific Characters:pythonprice = “$$99.99$$” print(price.strip(‘$’)) # Output: “99.99”
Summary Table
| Method | Removes From | Example (text = "--Hello--") | Output |
|---|---|---|---|
strip() | Both sides | text.strip('-') | "Hello" |
lstrip() | Left side | text.lstrip('-') | "Hello--" |
rstrip() | Right side | text.rstrip('-') | "--Hello" |
These methods are extremely useful for data cleaning, parsing, and formatting. Would you like more examples or use cases? 😊