Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.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_Function - Fatal编程技术网

Python 连续值?

Python 连续值?,python,function,Python,Function,正在学习python,但很难告诉函数查找具有相同值的连续位置。当我运行代码时,没有错误,但给出了不正确的输出。关于改变什么的建议 def same_values(xs): same = False for i in (xs): if xs == xs[1:]: same = True else: return same same_values('Misses') # This should return as tru

正在学习python,但很难告诉函数查找具有相同值的连续位置。当我运行代码时,没有错误,但给出了不正确的输出。关于改变什么的建议

def same_values(xs):
    same = False
    for i in (xs):
        if xs == xs[1:]:
            same = True
    else:
        return same
same_values('Misses') # This should return as true

因此,您正在列表中查找一个连续的对,如果找到一个,则返回true

def same_values(xs):
    for i in range(len(xs)-1):
        if xs[i] == xs[i+1]:
            return True
    return False

>>> same_values('misses')
True
>>> same_values('mises')
False
会给你正确的答案。
然而python有一个强大的迭代器代数。这样做的好处是,它可以与迭代器(迭代器通常不支持
len()
)以及列表一起工作:

import itertools as it

def same_values(xs):
    a, b = it.tee(xs)
    next(b, None)
    return any(x == y for x, y in zip(a, b))
此模式在
itertools
配方中描述为:

例如,要检查文件中的任何两个连续行是否相同(这不适用于
列表
版本):


因此,您正在列表中查找一个连续的对,如果找到一个,则返回true

def same_values(xs):
    for i in range(len(xs)-1):
        if xs[i] == xs[i+1]:
            return True
    return False

>>> same_values('misses')
True
>>> same_values('mises')
False
会给你正确的答案。
然而python有一个强大的迭代器代数。这样做的好处是,它可以与迭代器(迭代器通常不支持
len()
)以及列表一起工作:

import itertools as it

def same_values(xs):
    a, b = it.tee(xs)
    next(b, None)
    return any(x == y for x, y in zip(a, b))
此模式在
itertools
配方中描述为:

例如,要检查文件中的任何两个连续行是否相同(这不适用于
列表
版本):


请解释你的代码应该做什么。它需要什么输入?另外,比较是否区分大小写?当然,这将始终返回
False
,但是,
xs==xs[1://code>永远不会
True
。它应该将[1,2,3,3,5]等整数作为True。它不需要区分大小写。请解释你的代码应该做什么。它需要什么输入?另外,比较是否区分大小写?当然,这将始终返回
False
,但是,
xs==xs[1://code>永远不会
True
。它应该将[1,2,3,3,5]等整数作为True。不需要区分大小写。谢谢你的解释。我不知道迭代器。谢谢你的解释。我不知道迭代器。