Python 有条不紊
因此,代码可以通过Codewars的所有测试,但当我尝试索引时,会出现一个错误,指示字符串索引超出范围,因此我不知道是否必须在某个点中断循环,或者如何修复此问题?谢谢大家的帮助Python 有条不紊,python,python-3.x,Python,Python 3.x,因此,代码可以通过Codewars的所有测试,但当我尝试索引时,会出现一个错误,指示字符串索引超出范围,因此我不知道是否必须在某个点中断循环,或者如何修复此问题?谢谢大家的帮助 def unique_in_order(iterable): if iterable == None: return None if iterable == []: return [] result = []
def unique_in_order(iterable):
if iterable == None:
return None
if iterable == []:
return []
result = []
i = 0
while i < len(iterable)-1:
if iterable[i] == iterable[i+1]:
i += 1
continue
result.append(iterable[i])
i += 1
result.append(iterable[i])
return result
你承保[]的案件,但你不承保。只需像其他语句一样添加一个if语句,就可以了:
if iterable == '':
return ''
您可以将其添加到函数开头的代码中。
如果不是可迭代的:返回可重写的,我会考虑更一般的,如果LeNeulaby= 0:在其他类型的情况下返回迭代。如果我们不知道函数接收哪种类型的iterable,这将是最健壮的检查。这是一个好主意。但也应该注意,lenNone和类似的对象会引发TypeError,所以应该用try块将其括起来。
if iterable == '':
return ''