我在python中编写一个简单的加密/解密程序时遇到了一些问题,只是将一个数组的元素替换为另一个数组。我有两个数组,需要加密的数组和第一个元素相当于a和最后一个z的键。
我假设我需要在第一个array = key [0]中创建a的所有实例,依此类推,但我不知道如何编写一些代码。一些提示或指导将非常感激。
请注意,我无法导入任何库,而且我没有学过字典。
跟进问题,但相关问题。如何替换列表中相同值的所有元素。即如何用密钥列表的第一个值替换文本列表中的所有'a'值?
for c in text:
if c == 'a':
c = key[0]
给我一个错误:'function'对象不可订阅
答案 0 :(得分:0)
首先将密钥转换为dict,然后您可以使用简单的列表替换
key = {chr(ord('a')+i): e for i, e in enumerate(key)}
encrypted = [key[e] for e in unencrypted]
alteratively
encrypted = [key[ord(e) - ord('a')] for e in unencrypted]
答案 1 :(得分:0)
我认为更简单的方法是:
def encrypt(iterable,encryption_dictionary):
itertype = type(iterable)
return itertype(''.join((encryption_dictionary[i] for i in iterable)))
要创建encryption_dictionary,您可以使用
{key1:mappedvalue1,key2:mappedvalue2}
等等:指示对和“,”在对之间断开。