Python - 不可订阅

时间:2012-02-16 20:04:10

标签: python

我得到错误TypeError:'int'对象不可订阅 我该怎么做才能解决它?

def permutation(k, s):
    r = s[:]
    for j in range(2, len(s)+1):
        r[j-1], r[k%j] = r[k%j], r[j-1]
        k = k/j+1
        return r

2 个答案:

答案 0 :(得分:1)

这会发生什么?行r = s[:]似乎是原因,如果s不是列表或元组,则会出现错误。

您可能需要查看itertools.permutations

答案 1 :(得分:0)

你可能正在传递一个'int'对象作为s,该函数显然将其视为列表/元组(或允许下标的任何其他对象)。你是如何使用这个功能的?它的目的/意图是什么?