python数列按照相同的顺序响应包含贯休

两个list分别为list1和list2。函数find(list1, list2),如果list1的是list2的一部分,它将以相同的顺序响应:" Found it "; 否则,函数应该响应:" Not found "

eg.find([6,6],[1, 4, 5,2, 5, 6, 6, 5, 4, 7, 8, 9, 2])应该返回“Found it”,而find([6,6,4],[1, 4, 5,2, 5, 6, 6,5, 4, 7, 8, 9, 2])应该返回“Not Found”。

循环的办法

def find(list1,list2):
    for i in range(len(list2)-len(list1)):
        found=1
        for j in range(len(list1)):
            if list1[j]!=list2[i+j]:
                found=0
                break
        if found:
            return "Found it"
    return "Not Found"

取巧的办法

def find(list1,list2):
    str1=','.join([str(x) for x in list1])
    str2=','.join([str(x) for x in list2])
    return "Found it" if str1 in str2 else "Not Found"
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632