Python中的 Zip函数更改为新字符集
给定一个 26 个字母的字符集,相当于英文字母的字符集 ie (abcd….xyz) 并充当关系。我们还得到了几个句子,我们必须在给定的新字符集的帮助下翻译它们。
例子:
New character set : qwertyuiopasdfghjklzxcvbnm
Input : "utta"
Output : geek
Input : "egrt"
Output : code
我们有针对此问题的现有解决方案,请参阅将字符串更改为新字符集链接。我们将使用 Zip() 方法和 Dictionary 数据结构在Python中解决这个问题。做法很简单,
- 创建一个字典数据结构,我们将在其中将英语中的原始字符集映射到新的给定字符集, zip(newCharSet,origCharSet)为我们完成了它。它将原始字符集的每个字符顺序映射到新字符集的每个给定字符并返回对元组的列表,现在我们使用dict()将其转换为字典。
- 现在遍历原始字符串并将其转换为新字符串。
# Function to change string to a new character
def newString(charSet,input):
# map original character set of english
# onto new character set given
origCharSet = 'abcdefghijklmnopqrstuvwxyz'
mapChars = dict(zip(charSet,origCharSet))
# iterate through original string and get
# characters of original character set
changeChars = [mapChars[chr] for chr in input]
# join characters without space to get new string
print (''.join(changeChars))
# Driver program
if __name__ == "__main__":
charSet = 'qwertyuiopasdfghjklzxcvbnm'
input = 'utta'
newString(charSet,input)
输出:
geek