如何在一个列表中存储2个变量?

时间:2014-10-18 01:48:34

标签: python list variables python-3.x

我有一个程序,使用不断变化的密钥随机编码文本。用户还可以选择解码文本。

基本上我想要做的是有一个列表,其中包含使用的密钥和编码的文本。例如,如果我使用单词'test',则可以说它会返回BGMB,并且该单词的键为EIDTGRVHFNPSYJLKCWMBUXOZQA。所以在列表中我会keyList = [(EIDTGRVHFNPSYJLKCWMBUXOZQA, BGMB)],只要用户对单词进行编码,列表就会继续增长。我确信我正确地做了这部分,keyList.append((key, encodeText))

我遇到的问题是我不知道该怎么做。我可以继续编码,它会继续将其添加到列表中。我只是不知道如何访问解码函数中的列表。我打算做的是比较用户想要解码的输入字符串,看它是否在列表中,如果是,则程序将使用该字的密钥并发送回已解码的字符串。

任何帮助你都很棒。提前谢谢!

快速编辑:这是编码和解码方法,如果它可以帮助任何人

def encode(text):
    global key
    key = ''.join(random.sample(key, len(key)))
    switch = alpha.maketrans(alpha + alpha.lower(), key*2)
    encodeText = text.translate(switch)
    keyList.append((key, encodeText))
    print(keyList)
    return(encodeText)

def decode(text):
    print(keyList)
    switch = alpha.maketrans(key + key.lower(), alpha + alpha.lower())
    decodeText = text.translate(switch)
    return(decodeText)

印刷品是他们的,所以我可以看到每一点发生了什么。

1 个答案:

答案 0 :(得分:3)

我认为你应该使用dict。由于您希望通过编码文本访问加密密钥,encodeText应该是您的dict密钥。

keydict[ecodeText] = key