Python Dictionary to find mirror characters in a string


Given a string and a number N, we need to mirror the characters from N-th position up to the length of the string in the alphabetical order. In mirror operation, we change ‘a’ to ‘z’, ‘b’ to ‘y’, and so on.

Examples:

Input : N = 3
        paradox
Output : paizwlc
We mirror characters from position 3 to end.

Input : N = 6
        pneumonia
Output : pnefnlmrz

We have existing solution for this problem please refer Mirror characters of a string link. We can solve this problem in Python using Dictionary Data Structure. Mirror value of ‘a’ is ‘z’,’b’ is ‘y’ etc, so we create a dictionary data structure and one-to-one map reverse sequence of alphabets onto original sequence of alphabets. Now traverse characters from length k in given string and change characters into it’s mirror value using dictionary.

filter_none

edit
close

play_arrow

link
brightness_4
code

# function to mirror characters of a string
  
def mirrorChars(input,k):
  
    # create dictionary
    original = 'abcdefghijklmnopqrstuvwxyz'
    reverse = 'zyxwvutsrqponmlkjihgfedcba'
    dictChars = dict(zip(original,reverse))
  
    # separate out string after length k to change
    # characters in mirror
    prefix = input[0:k-1]
    suffix = input[k-1:]
    mirror = ''
  
    # change into mirror
    for i in range(0,len(suffix)):
         mirror = mirror + dictChars[suffix[i]]
  
    # concat prefix and mirrored part
    print (prefix+mirror)
           
# Driver program
if __name__ == "__main__":
    input = 'paradox'
    k = 3
    mirrorChars(input,k)

chevron_right


Output:

paizwlc

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.