【发布时间】:2014-07-09 22:28:01
【问题描述】:
我正在尝试使此代码正常工作,但使用此代码时出现此错误:
File "E:\Snacks.py", line 93, in runGame
obsCoords.insert(0, newobs)
AttributeError: 'dict' object has no attribute 'insert'
那是因为我在列表后面设置了一个位置:
obsCoords = []
obscoords = getRandomLocation()
if (event.key == K_q) and len(wormCoords) >= 4:
del wormCoords[-1]
obsCoords['x'] = wormBody['x']
obsCoords['y'] = wormBody['y']
newobs = {'x': obsCoords['x'], 'y': obsCoords['y']}
obsCoords.insert(0, newobs)
if wormCoords[HEAD]['x'] == obsCoords['x'] and wormCoords[HEAD]['y'] == obsCoords['y']:
return
所以我删除它:
obsCoords = []
if (event.key == K_q) and len(wormCoords) >= 4:
del wormCoords[-1]
obsCoords['x'] = wormBody['x']
obsCoords['y'] = wormBody['y']
newobs = {'x': obsCoords['x'], 'y': obsCoords['y']}
obsCoords.insert(0, newobs)
if wormCoords[HEAD]['x'] == obsCoords['x'] and wormCoords[HEAD]['y'] == obsCoords['y']:
return
并以这个错误结束:
TypeError: list indices must be integers, not str
我想做的只是将新位置添加到列表中。谁能帮帮我?
【问题讨论】:
-
您的代码不清楚。你想做什么?此外,您的代码似乎与生成错误的代码不同。
标签: python list python-2.7