Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/150.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
List 如果序列出现在列表中,则返回True_List_Python 3.x_Boolean_Sequence - Fatal编程技术网

List 如果序列出现在列表中,则返回True

List 如果序列出现在列表中,则返回True,list,python-3.x,boolean,sequence,List,Python 3.x,Boolean,Sequence,我需要编写一个函数,该函数接受整数列表nums,如果序列1,2,3,…出现在列表中的某个位置,则返回True 我的做法: def list123(nums): num = "" for i in nums: num += i if "1,2,3" in num: return True else: return False 它无法工作,指示:builtins.TypeError:无法将“int”对象隐式转换为str

我需要编写一个函数,该函数接受整数列表
nums
,如果序列
1,2,3,…
出现在列表中的某个位置,则返回True

我的做法:

def list123(nums):
    num = ""
    for i in nums:
        num += i
    if "1,2,3" in num:
        return True
    else:
        return False
它无法工作,指示:
builtins.TypeError:无法将“int”对象隐式转换为str


我还想知道是否有更简单的方法,而不是像我这样将列表转换为字符串。

您将在
num+=I
上得到一个错误,因为您正在尝试将
1
添加到
。相反,请尝试以下操作:

def list123(nums, desired=[1, 2, 3]):
    return str(desired)[1:-1] in str(nums)


是否有我遗漏的东西,或者可以在没有for循环的情况下以这种方式编写

请在答案中添加一些细节,使其更有用。欢迎来到StackOverflow。不幸的是,您发布的代码缩进无效,答案不正确,因为它只检查代码中是否存在1、2和3,而OP希望检查序列
1、2、3
,感谢您编辑缩进。不过,这仍然是OP问题的错误解决方案。请在您的答案中添加一些解释,以便其他人可以从中学习
def array123(nums):
  for i in range(0,len(nums)-2):
    if nums[i:i+3]==[1,2,3]:
      return True
  return False
def list123(nums):
    for i in range(0,len(nums)-1):
        if nums[i]==1:
            if nums[i+1]==2:
                if nums[i+2]==3:
                    return True

    return False       


nums=[1, 2, 1, 3, 1, 2, 1]
print(list123(nums))
import re 
def list123(nums):
    s = ''.join(str(x) for x in nums)
    if(re.search('123',s) != None):
        return True
    else:
        return False


nums=[1,2,3,4,5]
print(list123(nums))
def arrayCheck(nums):
    if 1 in nums and 2 in nums and 3 in nums:
        return "YES"
    else:
        return "NO"
def array123(nums):
  for i in range(0,len(nums)-2):
    if nums[i:i+3]==[1,2,3]:
      return True
  return False
def array123(nums):
  num=''
  for i in nums:
    num += str(i)
  if num.count('1')>=1 and num.count('2')>=1 and num.count('3')>=1:
    return True
  else :
    return False