python - 比较两个列表(检查短列表在长列表中出现了多少次)

标签 python python-2.7 list function compare

<分区>

我正在做作业,但我的代码卡住了。 问题是关于两个包含字符串字母作为元素的列表,我们想知道小文本在长列表中出现了多少次。(有顺序)

例子: long=['a','k','g','j','a','k','k','a','k','g']

小=['a','k','g']

那么答案应该是 2 因为它出现了两次(第一次和最后一部分) 正如我所尝试的那样:

def search(long,small):
    words=[]
    for k in range(len(long)):
         for l in range(len(small)):
               if long[k]==small[l]:
                   words.append()
               return(words)

首先尝试记下列表中的匹配项,然后将列表的长度除以得到数字。但不幸的是,这给了我第一场比赛,我不确定如何获得所有比赛。希望你们能帮助我。

最佳答案

您可以通过 small 的元素前进并在遇到“奇数”元素时重置计数器来实现:

def search(long,small):
  indexCt = 0
  count = 0
  for k in range(len(long)):
      if long[k]==small[indexCt]:
        indexCt += 1
      else:
        indexCt = 0
      if(indexCt == len(small)):
        indexCt = 0
        count += 1

  return count

关于python - 比较两个列表(检查短列表在长列表中出现了多少次),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54727745/

相关文章:

python - 如何更改 python 中不同子目录中的多个文件名?

python - 如何使对话框或弹出窗口可以保留在主窗口后面并且不覆盖主窗口

python - python 中的 a=[1] 和 [1] 有什么区别?

python - 为什么 dict(k=4, z=2).update(dict(l=1)) 在 Python 中返回 None?

python - 从 python 脚本执行机器人框架文件

python - 如何在Python中创建多维列表?

list - Scala:从列表[Tuple3]到映射[String,String]

Python:(带替换的采样):从集合中提取不同 N 元组集合的高效算法

python - 如何在pyQt5 contextMenuEvent中获取正确的表行索引

testing - "Choose File"不适用于 Firefox 但适用于 Chrome