Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有条不紊_Python_Python 3.x - Fatal编程技术网

Python 有条不紊

Python 有条不紊,python,python-3.x,Python,Python 3.x,因此,代码可以通过Codewars的所有测试,但当我尝试索引时,会出现一个错误,指示字符串索引超出范围,因此我不知道是否必须在某个点中断循环,或者如何修复此问题?谢谢大家的帮助 def unique_in_order(iterable): if iterable == None: return None if iterable == []: return [] result = []

因此,代码可以通过Codewars的所有测试,但当我尝试索引时,会出现一个错误,指示字符串索引超出范围,因此我不知道是否必须在某个点中断循环,或者如何修复此问题?谢谢大家的帮助

    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 ''