list=['a','a','x','c','e','e','f','f','f']
i=0
count = 0
while count < len(list)-2:
if list[i] == list[i+1]:
if list [i+1] != list [i+2]:
print list[i]
i+=1
count +=1
else:print "no"
else:
i +=1
count += 1
我得到了:
else:print "no"
^
IndentationError: unexpected indent
我想只打印与以下元素匹配的元素,但不包括其后面的元素。我是 Python 的新手,不确定为什么这样做不起作用。
if
和else
放置在相同的缩进级别。另外,请勿使用list
作为变量名,因为它是一种内置类型。 - karthikrlist
,因为它是一个内部定义的函数(覆盖它会导致问题)。 - Makotolist
是内置类型而不是函数;您没有重写它而是在变量范围内简单地隐藏了名称;除非您还想在同一作用域中引用该类型,否则它不会直接引起问题。使用list
作为变量名的实际问题是它是一个非常不具描述性的名称,如果读者看不到它被隐藏,就可能会使阅读代码的人感到困惑,并且它会阻止Python和像Pyflakes这样的工具警告您未定义的变量,也可能使查找错误更加困难。 - l4mpi