Python 获取类型错误:列表索引必须是整数,而不是元组,可以';我不明白为什么

Python 获取类型错误:列表索引必须是整数,而不是元组,可以';我不明白为什么,python,Python,阅读此问题的其他答案,但不太明白如何将其应用于我的问题: class Dice: def __init__(self): self.dice = [0]*5 self.rollAll() def roll(self, which): for pos in enumerate(which): self.dice[pos] = random.randrange(1,7) def rollAll(self)

阅读此问题的其他答案,但不太明白如何将其应用于我的问题:

class Dice:
    def __init__(self):
        self.dice = [0]*5
        self.rollAll()
    def roll(self, which):
        for pos in enumerate(which):
            self.dice[pos] = random.randrange(1,7)
    def rollAll(self):
        self.roll(range(5))
    def values(self):
        return self.dice[:]
    def counts(self):
        # Create counts list
        counts = [0] * 7
        for value in self.dice:
            counts[value] = counts[value] + 1
        # score the hand
不知道是什么原因导致了这个错误——我从其他类似的帖子中收集到,这与我键入self.dice位置行的方式有关,但同样,我无法找出到底是什么错误。你们谁能帮忙?谢谢

    for pos in enumerate(which):
        self.dice[pos] = random.randrange(1,7)
enumerate返回需要解压缩的(索引、值)元组:

    for idx, pos in enumerate(which):
        self.dice[idx] = random.randrange(1,7)
enumerate返回需要解压缩的(索引、值)元组:

    for idx, pos in enumerate(which):
        self.dice[idx] = random.randrange(1,7)
enumerate返回需要解压缩的(索引、值)元组:

    for idx, pos in enumerate(which):
        self.dice[idx] = random.randrange(1,7)
enumerate返回需要解压缩的(索引、值)元组:

    for idx, pos in enumerate(which):
        self.dice[idx] = random.randrange(1,7)

我想他们可能想完全省略枚举;
rollAll
的示例是传递定义要滚动的位置的
范围,因此索引并不重要;大概你可以调用
.roll((3,2,5))
,它会按顺序滚动3,2和5(使用索引意味着它会滚动0,1和2,这似乎不正确);事实上,我最初有一个建议是直接迭代“which”的值,但由于不清楚“which”到底代表什么,我删除了这个建议;
rollAll
的示例是传递定义要滚动的位置的
范围,因此索引并不重要;大概你可以调用
.roll((3,2,5))
,它会按顺序滚动3,2和5(使用索引意味着它会滚动0,1和2,这似乎不正确);事实上,我最初有一个建议是直接迭代“which”的值,但由于不清楚“which”到底代表什么,我删除了这个建议;
rollAll
的示例是传递定义要滚动的位置的
范围,因此索引并不重要;大概你可以调用
.roll((3,2,5))
,它会按顺序滚动3,2和5(使用索引意味着它会滚动0,1和2,这似乎不正确);事实上,我最初有一个建议是直接迭代“which”的值,但由于不清楚“which”到底代表什么,我删除了这个建议;
rollAll
的示例是传递定义要滚动的位置的
范围,因此索引并不重要;大概你可以调用
.roll((3,2,5))
,它会按顺序滚动3,2和5(使用索引意味着它会滚动0,1和2,这似乎不正确);事实上,我第一次有一个建议,直接迭代“which”的值,但因为不清楚where确切地表示“which”,我删除了这个建议。