我的类中的数组给了我一个错误。。。AttributeError:“set”对象没有属性“index”

2024-04-25 20:34:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个代码:

level = {0, 0, 0,
         0, 1, 0,
         0, 0, 0}

class player:
    def getPlayerLoc(self, level):
        for i in level:
            if level[level.index(i)] == 1:
                print "Player location = " + str(i)


p1 = player()
p1.getPlayerLoc(level)

当我运行它的时候它说:

^{pr2}$

它看起来像是把我的数组转换成一个set对象。它为什么要这样做,我怎么才能修复它?在


Tags: 代码inselfforindexifdeflocation
1条回答
网友
1楼 · 发布于 2024-04-25 20:34:00
level = {0, 0, 0,
         0, 1, 0,
         0, 0, 0}

{}方括号表示set, 将其声明为list

^{pr2}$

例如

>>> level = {0, 0, 0,
         0, 1, 0,
         0, 0, 0}
>>> level
{0, 1}  # because set only contains unique elements

>>> level = [0, 0, 0,
         0, 1, 0,
         0, 0, 0]
>>> level
[0, 0, 0, 0, 1, 0, 0, 0, 0]

相关问题 更多 >