How to Double Characters in Python

The challenge

Given a string, you have to return a string in which each character (case-sensitive) is repeated once.

double_char("String") ==> "SSttrriinngg" double_char("Hello World") ==> "HHeelllloo WWoorrlldd" double_char("1234!_ ") ==> "11223344!!__ "
Code language: Python (python)

The solution in Python code

This can easily be done by looping through each character and appending it to a list, which we then join and return at the end:

def double_char(s): out = [] for i in s: out.append(i+""+i) return "".join(out)
Code language: Python (python)

However, we could simplify this down to a single list comprehension:

def double_char(s): return "".join([i+''+i for i in s])
Code language: Python (python)

Or go one step further:

def double_char(s): return ''.join(c * 2 for c in s)
Code language: Python (python)

Test cases to validate our solution

test.assert_equals(double_char("String"),"SSttrriinngg") test.assert_equals(double_char("Hello World"),"HHeelllloo WWoorrlldd") test.assert_equals(double_char("1234!_ "),"11223344!!__ ")
Code language: Python (python)
Tags:
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments