How can we use Python Ternary Operator Without else?

Python's ternary operator typically follows the pattern value_if_true if condition else value_if_false. However, there are situations where you only want to execute code when a condition is true, without an else clause.

Single Line if Statement

The simplest approach is converting a multi-line if statement to a single line ?

# Multi-line if statement
name = "Alice"
if name:
    print("Hello", name)

# Single line equivalent
name = "Bob"
if name: print("Hello", name)
Hello Alice
Hello Bob

Using the and Operator

You can leverage Python's short-circuiting behavior with the and operator ?

# Using and operator for conditional execution
score = 85
score > 80 and print("Excellent score!")

# Equivalent to:
# if score > 80:
#     print("Excellent score!")

# When condition is false, nothing happens
score = 70
score > 80 and print("This won't print")
Excellent score!

How Short-Circuiting Works

When using condition and expression, Python evaluates from left to right. If the condition is false, the right side is never evaluated due to short-circuiting ?

# Demonstrating short-circuiting
numbers = []

# Safe way to check and access list
numbers and print(f"First number: {numbers[0]}")

# Add some data and try again
numbers = [1, 2, 3]
numbers and print(f"First number: {numbers[0]}")
First number: 1

Practical Examples

File Operations

# Check if file exists before processing
import os

filename = "data.txt"
os.path.exists(filename) and print(f"Processing {filename}")

# Multiple conditions
data = [1, 2, 3, 4, 5]
len(data) > 3 and print(f"Large dataset with {len(data)} items")
Large dataset with 5 items

Function Calls

# Conditional function execution
def process_data(items):
    return f"Processed {len(items)} items"

data = [1, 2, 3]
result = data and process_data(data)
print(result)

# With empty data
empty_data = []
result = empty_data and process_data(empty_data)
print(result)  # Returns the falsy value (empty list)
Processed 3 items
[]

Comparison

Method Readability Best For
Single line if High Simple statements
and operator Medium Functional style, short expressions
Traditional if High Complex logic, multiple statements

Conclusion

Use single-line if statements for simple conditional execution without else. The and operator provides a functional alternative that leverages short-circuiting behavior for concise conditional code.

Updated on: 2026-03-24T20:34:58+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements