To print without a newline or space in Python, use the following methods depending on your Python version and requirements:
1. In Python 3+
Use the print() function with the end and sep parameters.
Print Without a Newline:
print("Hello", end="") # No newline
print("World") # Output: HelloWorld
Print Multiple Items Without Spaces:
print("a", "b", "c", sep="") # Output: abc
Combine Both:
print("Hello", "World", sep="", end="") # Output: HelloWorld (no newline or space)
2. In Python 2
Use a trailing comma in the print statement (adds a space by default) or use sys.stdout.write.
Avoid Newline (Adds Space):
print "Hello", # Trailing comma
print "World" # Output: Hello World
Avoid Newline and Space:
import sys
sys.stdout.write("Hello")
sys.stdout.write("World") # Output: HelloWorld
3. Universal Approach (Works in Both Python 2 and 3)
Use sys.stdout.write for full control:
import sys
sys.stdout.write("Hello")
sys.stdout.write("World\n") # Output: HelloWorld
Examples
Print a List Without Newlines:
# Python 3
items = [1, 2, 3]
for item in items:
print(item, end="") # Output: 123
# Python 2
for item in items:
print item, # Output: 1 2 3 (with spaces)
Print with Custom Separator:
# Python 3
print("2023", "12", "31", sep="-") # Output: 2023-12-31
Key Notes
endParameter: Controls the ending character (default:\n).sepParameter: Controls the separator between items (default: space).sys.stdout.write: Directly writes to output without formatting.- Flushing: Use
sys.stdout.flush()to force immediate output if needed.
Summary
- Python 3: Use
print(..., end="", sep=""). - Python 2: Use
sys.stdout.write()orprint ...,(with a trailing comma for no newline). - Cross-version:
sys.stdout.write()works everywhere but lacks formatting.