Python – Alternate Character Addition

Alternate character addition combines characters from two strings by taking one character from each string in turn. Python provides several approaches to achieve this string manipulation technique.

Understanding Alternate Character Addition

Given two strings like "Python" and "Golang", alternate character addition creates a new string by combining characters: P+G, y+o, t+l, h+a, o+n, n+g, resulting in "PGyotlhaonng".

Using List Comprehension with zip()

The most concise approach uses zip() and join() methods ?

string1 = "Python"
string2 = "Golang"

# Combine characters alternately using zip() and join()
new_str = ''.join([a + b for a, b in zip(string1, string2)])

# Add remaining characters if strings have different lengths
if len(string1) > len(string2):
    new_str += string1[len(string2):]
else:
    new_str += string2[len(string1):]

print("Result:", new_str)
Result: PGyotlhaonng

Using a For Loop

A traditional approach using iteration to build the result character by character ?

string1 = "Python"
string2 = "Golang"

new_str = ""
min_length = min(len(string1), len(string2))

# Alternate characters from both strings
for i in range(min_length):
    new_str += string1[i] + string2[i]

# Add remaining characters from the longer string
if len(string1) > len(string2):
    new_str += string1[min_length:]
else:
    new_str += string2[min_length:]

print("Result:", new_str)
Result: PGyotlhaonng

Using a Function with Error Handling

A reusable function that handles edge cases like empty strings ?

def alternate_char_addition(str1, str2):
    # Handle empty strings
    if not str1 and not str2:
        return ""
    if not str1:
        return str2
    if not str2:
        return str1
    
    # Combine alternating characters
    result = ''.join([a + b for a, b in zip(str1, str2)])
    
    # Add remaining characters
    if len(str1) > len(str2):
        result += str1[len(str2):]
    else:
        result += str2[len(str1):]
    
    return result

# Test with different examples
print(alternate_char_addition("Python", "Golang"))
print(alternate_char_addition("Hello", "World123"))
print(alternate_char_addition("A", ""))
PGyotlhaonng
HWeolrllod123
A

Comparison

Method Readability Performance Best For
List Comprehension High Fast Short, clean code
For Loop Medium Moderate Learning purposes
Function Approach High Fast Reusable code

Conclusion

Use list comprehension with zip() for the most concise solution. Create a reusable function when you need error handling and plan to use the functionality multiple times.

Updated on: 2026-03-27T13:37:26+05:30

444 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements