Python字典在字符串中查找镜像字符
给定一个字符串和一个数字 N,我们需要按照字母顺序从第 N 个位置到字符串的长度镜像字符。在镜像操作中,我们将“a”更改为“z”,将“b”更改为“y”,依此类推。
例子:
Input : N = 3
paradox
Output : paizwlc
We mirror characters from position 3 to end.
Input : N = 6
pneumonia
Output : pneumlmrz
对于这个问题,我们有一个现有的解决方案,请参阅字符串链接的镜像字符。我们可以使用字典数据结构在Python中解决这个问题。 'a' 的镜像值是 'z','b' 是 'y' 等等,所以我们创建了一个字典数据结构,并将字母逆序一对一映射到原始字母序列上。现在遍历给定字符中长度为 k 的字符串,并使用字典将字符更改为它们的镜像值。
Python3
# 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)
输出:
paizwlc