Python RC4实现错误'范围'对象不支持项目分配

时间:2016-03-27 06:37:47

标签: python python-3.x typeerror

虽然我被要求使用它来实现RC4算法,但我的Python经验有限。我有以下代码似乎正确然而生成错误

'range' object does not support item assignment

为该行:

S[i], S[j] = S[j], S[i]  # swap

这是我的代码:

def KSA(key):
    keylength = len(key)

    S = range(256)

    j = 0
    for i in S:
        j = (j + S[i] + key[i % keylength]) % 256
        S[i], S[j] = S[j], S[i]  # swap

    return S

1 个答案:

答案 0 :(得分:1)

在Python 3 range语句中返回一个生成器对象,而不是列表。从

更改初始化行
S = range(256)

S = list(range(256))