list1=[1,3,8,10,23,8,8,10,23,3,8,10,23,3,8,10,23]
list2=[10,23,3]
cnt=list1.count(list2[0])
cnt1=1
j=0
while (cnt1<=cnt):
list3=[]
list3.append(list2[0])
i=1
k=list1.index(list2[0])
while (i<len(list2)):
list3.append(list1[k+i])
i=i+1
print (list3)
if (list2==list3):
print ("list2 is a subset")
j=j+1
else:
print ("list2 is not a subset")
list1.remove(list2[0])
cnt1=cnt1+1
print (list2,"occurs",j,"times")
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误.
Run Code Online (Sandbox Code Playgroud)Traceback (most recent call last): File "C:\Python26\Lib\idlelib\sublist.py", line 12, in <module> list3.append(list1[k+i]) IndexError: list index out of range"
你肯定过于复杂了 - 到了你的策略究竟是什么并不明显的地步.
这是一个可以尝试和集成的简单算法:
list2list1,访问长度列表的切片list2(例如,第一个切片将是[1, 3, 8],然后下一个切片将是[3, 8, 10]list2- 如果是,则返回True(或将1加到计数器)| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |