Python 通过列出多个值的键来打印它们

Python 通过列出多个值的键来打印它们,python,dictionary,encryption,Python,Dictionary,Encryption,注意:如果出现语法错误,我将尝试通过列出多个值的键来找到一种更简单的方法来打印它们 我知道打印键值的标准方法是 Encrypt_2['f']、Encrypt_2['c']、Encrypt_2['j']……。您可以尝试使用for循环 Encrypt_2 = {'y': 'a', 'z': 'b', 'a': 'c', 'b': 'd', 'c': 'e', 'd': 'f', 'e': 'g', 'f': 'h', 'g': 'i', 'h': 'j', 'i': 'k', 'j': 'l', '

注意:如果出现语法错误,我将尝试通过列出多个值的键来找到一种更简单的方法来打印它们

我知道打印键值的标准方法是 Encrypt_2['f']、Encrypt_2['c']、Encrypt_2['j']……。

您可以尝试使用for循环

Encrypt_2 = {'y': 'a', 'z': 'b', 'a': 'c', 'b': 'd', 'c': 'e', 'd': 'f', 'e': 'g', 'f': 'h', 'g': 'i', 'h': 'j', 'i': 'k', 'j': 'l', 'k': 'm', 'l': 'n', 'm': 'o', 'n': 'p', 'o': 'q', 'p': 'r', 'q': 's', 'r': 't', 's': 'u', 't': 'v', 'u': 'w', 'v': 'x', 'w': 'y', 'x': 'z'}

##printing encrypted text

Encrypt_2['f', 'c', 'j', 'j', 'm']
您可以尝试的是:

>>> hello
然后循环遍历该列表并获取每个键的值

keys = ['f', 'c', 'j', 'j', 'm'] # or keys='fcjjm'


这里有四种方法。请注意,对于数字4,97是
ord('a')
,不需要任何字典即可工作(因为您对每个字符都执行相同的操作(将其移动2次),因此没有太多理由制作一个大字典来表示它)

keys = ['f', 'c', 'j', 'j', 'm'] # or keys='fcjjm'

values = [Encrypt_2[x] for x in keys]
encrypt_2 = {'y': 'a', 'z': 'b', 'a': 'c', 'b': 'd', 'c': 'e', 'd': 'f', 'e': 'g', 'f': 'h', 'g': 'i', 'h': 'j', 'i': 'k', 'j': 'l', 'k': 'm', 'l': 'n', 'm': 'o', 'n': 'p', 'o': 'q', 'p': 'r', 'q': 's', 'r': 't', 's': 'u', 't': 'v', 'u': 'w', 'v': 'x', 'w': 'y', 'x': 'z'}

def convert_text1(string):
    characters = [] # empty list where we will put values
    for char in string:
        # 'char' represents the current character in the string
        characters.append(encrypt_2[char])
    return ''.join(characters)
    # each characters is joined, separated by an empty string
    # e.g. ['a', 'b', 'c'] to 'abc'

def convert_text2(string):
    return ''.join(encrypt_2[char] for char in string)

def convert_text3(string):
    return ''.join(map(encrypt_2.__getitem__, string))

def convert_text4(string):
    return ''.join(chr((ord(char) + 2 - 97) % 26 + 97) for char in string)