Open In App

Print Even and Odd Index Characters of a String – Python

Given a string, our task is to print odd and even characters of a string in Python.

Example



Input: Geeksforgeeks
Output: Gesoges ekfrek

Using  Brute-Force Approach to get even and odd index characters

First, create two separate lists for even and odd characters. Iterate through the given string and then check if the character index is even or odd. Even numbers are always divisible by 2 and odd ones are not. Insert the characters in the created lists and display the lists.




given_str = 'Geekforgeeks'
 
# given input string
even_characters = []  # For storing even characters
odd_characters = []  # For storing odd characters
 
for i in range(len(given_str)):
    if i % 2 == 0# check if the index is even
        even_characters.append(given_str[i])
    else:
        odd_characters.append(given_str[i])
 
# print the odd characters
print('Odd characters: {}'.format(odd_characters)) 
# print the even characters
print('Even characters: {}'.format(even_characters))

Output: 



Gesoges  ekfrek

Using Slicing to get even and odd index characters of a string in python

To understand the concept of string slicing in detail. Refer here 




given_str = "GeEksforgeeks"
  
print("Even Characters:", given_str[::2]) # Characters at even index
print("Odd Characters:", given_str[1::2]) # Characters at odd index

Output:

Gesoges  ekfrek

Using List Comprehension to get even and odd index characters of a string in python

List comprehension provides a shorter index to create a new list using the given list. For a deeper understanding, refer here




list1="Geeksforgeeks"
list2 = [x for ind, x in enumerate(list1) if ind%2==0]
list3 = [x for ind, x in enumerate(list1) if ind%2!=0]
print(list2)
print(list3)

Output:

['G', 'e', 's', 'o', 'g', 'e', 's']
['e', 'k', 'f', 'r', 'e', 'k']

Print Even and Odd Index Characters of a String using recursion

To print the even and odd index characters of a string using recursion in Python, we can define a recursive function that traverses the string and prints characters at even and odd indices. Here’s the Python program to achieve this:




def print_even_odd_chars(string, index=0, even=True):
    # Recursive function to print even and
    # odd index characters of the string
    if index >= len(string):
        return
 
    if even and index % 2 == 0:
        print(string[index], end=' ')
    elif not even and index % 2 != 0:
        print(string[index], end=' ')
 
    print_even_odd_chars(string, index + 1, even)
 
if __name__ == "__main__":
    input_string = "Geeksforgeeks!"
    print("Even Index Characters:")
    print_even_odd_chars(input_string, even=True)
    print("\nOdd Index Characters:")
    print_even_odd_chars(input_string, even=False)

Output:

Even Index Characters:
G e s o g e s
Odd Index Characters:
e k f r e k !

Article Tags :