我想与python进行一个复杂的列表比较.我想看看listB
是否包含listA
中的所有项目,以及它们的顺序是否相同.但我不在乎listB
是否有额外的项目或交叉项目.
示例:
listA = ['A','B','C','D','E']
listB = [':','A','*','B','C','D','E','`']
A
、B
、C
、D
和E
都出现在listB
中,并且以相同的顺序显示,即使A
和B
之间有一个项目,并且项目在listB
的开头和结尾.
特别复杂:
listA = ['A','B','C','D','E']
listB = ['A','*','C','B','C','D','E']
A
、B
、C
、D
和E
都出现在listB
中,并以相同的顺序显示,尽管A
和B
之间有两个项目,其中一个项目恰好是我们正在搜索的项目.但由于我们正在寻找如果A
->;B
是顺序的,B
->;C
是一个连续的事实,我们也有C
->;B
->;C
应该没关系.
所以
listA = ['A','B','C','D','E']
listB = [':','A','*','B','C','D','E','`']
是真的
listA = ['A','B','C','D','E']
listB = ['A','*','C','B','C','D','E']
是真的
但有点像:
listA = ['A','B','C','D','E']
listB = ['A','B','C','D','F']
甚至
listB = ['A','B','C','D']
将是错误的
如果得到的是错误的答案,我希望能够指出序列中断发生的位置,即E is missing
.