擅长:python、mysql、java
<p>首先是你的代码有问题。<code>range</code>接受整数输入,因此如果<code>b</code>是一个整数,<code>for i in range(b)</code>将在列表中给您<code>[0, 1, 2, .. , b-1 ]</code>个整数。您不能使用<code>[]</code>为<code>i</code>编制索引,就像在接下来的两行中一样。在</p>
<p>如果<code>b</code>不是一个整数,而是一个集合,那么您应该使用类似于:</p>
<pre><code># Assuming b is a collection
for i in range(len(b)):
actual=b[i]
temp1=(actual[0]+1,actual[1])
temp2=(actual[0],actual[1]-1)
temp3=(actual[0],actual[1]+1)
temp4=(actual[0]-1,actual[1])
# Check if this is the first one. If it is, previous won't exist.
if i == 0:
continue
previous = b[i-1]
if previous in [ temp1, temp2, temp3, temp4 ]:
# This is what you want not to happen. Deal with it somehow.
pass
</code></pre>