Python Program to Remove the Characters of Odd Index Values in a String

When working with strings in Python, you might need to remove characters at odd index positions (1, 3, 5, etc.). This can be accomplished using various approaches including loops, string slicing, and list comprehensions.

Understanding String Indexing

In Python, string indexing starts from 0. So for a string "Hello":

  • Index 0: 'H' (even)
  • Index 1: 'e' (odd)
  • Index 2: 'l' (even)
  • Index 3: 'l' (odd)
  • Index 4: 'o' (even)

Method 1: Using While Loop

This approach iterates through the string and skips characters at odd indices ?

def remove_odd_index_characters(my_str):
    new_string = ""
    i = 0
    while i < len(my_str):
        if (i % 2 == 1):
            i += 1
            continue
        
        new_string += my_str[i]
        i += 1
    return new_string

my_string = "Hi there Will"
result = remove_odd_index_characters(my_string)
print("Original string:", my_string)
print("After removing odd index characters:", result)
Original string: Hi there Will
After removing odd index characters: H hr il

Method 2: Using String Slicing

A more concise approach using Python's slice notation with step 2 ?

def remove_odd_index_slice(my_str):
    return my_str[::2]

my_string = "Hi there Will"
result = remove_odd_index_slice(my_string)
print("Original string:", my_string)
print("After removing odd index characters:", result)
Original string: Hi there Will
After removing odd index characters: H hr il

Method 3: Using List Comprehension

This approach uses enumerate to get both index and character ?

def remove_odd_index_comprehension(my_str):
    return ''.join([char for i, char in enumerate(my_str) if i % 2 == 0])

my_string = "Hi there Will"
result = remove_odd_index_comprehension(my_string)
print("Original string:", my_string)
print("After removing odd index characters:", result)
Original string: Hi there Will
After removing odd index characters: H hr il

Comparison of Methods

Method Readability Performance Best For
While Loop Medium Slower Learning purposes
String Slicing High Fastest Production code
List Comprehension Medium Medium Complex conditions

Conclusion

String slicing with [::2] is the most efficient and Pythonic way to remove odd-index characters. Use list comprehension when you need additional filtering conditions, and loops for educational purposes or complex logic.

Updated on: 2026-03-25T19:10:12+05:30

741 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements