python-2.7 - 如何在Python中将正整数列表转换为负整数?

标签 python-2.7

好吧,作为序言,我正在尝试编写一个加密程序,该程序接受字符串输入,使用 ord() 函数将每个字符转换为整数,然后使用伪随机生成的数字序列对其进行移位。它本质上是一个维吉尼亚密码程序,我几乎已经掌握了它。我只是在解密功能方面遇到了麻烦,因为我不知道如何从加密消息中减去 key 以便我可以解密它。

def input1():
    mes = raw_input('> ').upper()
    shiftl = []
    while len(mes) > len(shiftl):
        shiftl.append(random.randint(1,26))
    return mes, shiftl

def encrypt(x,y):
    h = []
    for item in x:
        h.append(ord(item) - 65)
    e = [sum(i) for i in zip(h,y)]
    return e

def decrypt(e, y):
    u = [sum(i) for i in zip(e,-(y))]
    d = []
    for item in u:
        d.append(chr(item + 65))
    return d

这是我需要帮助的线路。

u = [sum(i) for i in zip(e,-(y))]

我尝试简单地将 - 放在列表前面,但一元运算符不适用于列表。那么我从加密消息中减去此列表的最佳方法是什么?

最佳答案

如果您有一个列表并且想要更改内容,请使用带有切片分配的列表理解:

a = [1, 3, 5]
a[:] = [-1*x for x in a]
print a

其输出将是:

[-1, -3, -5]

关于python-2.7 - 如何在Python中将正整数列表转换为负整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33587980/

相关文章:

python-2.7 - 在 Robot Framework 中运行一段时间的测试用例

python - 如何使用python分割文本?

python - 为什么 pip 不适合我?

python - 尝试 numba 的巨大错误

macos - 在 macOS 上的 python 2.7 上安装 rpy2

python - 用匹配的模式替换python中的字符串

python - 检查元组中的顺序

python - 为什么 NumPy 数组优于标准库数组?

python - pip install --upgrade sqlalchemy 超出最大递归深度

python - 修改for循环中的增量值