在 Python 中将重复项保留在列表中

2023-11-27

我知道这可能是一个简单的答案,但我无法弄清楚。 Python 中将重复项保留在列表中的最佳方法是什么:

x = [1,2,2,2,3,4,5,6,6,7]

输出应该是:

[2,6]

我找到了这个链接:在 python 中查找(并保留)子列表的重复项,但我对 Python 还比较陌生,我无法让它用于简单的列表。


我会用一个collections.Counter:

from collections import Counter
x = [1, 2, 2, 2, 3, 4, 5, 6, 6, 7]
counts = Counter(x)
output = [value for value, count in counts.items() if count > 1]

这是另一个版本,它保留了首次复制项目时的顺序,仅假设传入的序列包含可哈希项目,并且它将返回到set or yeild被引入到该语言(无论何时)。

def keep_dupes(iterable):
    seen = set()
    dupes = set()
    for x in iterable:
        if x in seen and x not in dupes:
            yield x
            dupes.add(x)
        else:
            seen.add(x)

print list(keep_dupes([1,2,2,2,3,4,5,6,6,7]))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 中将重复项保留在列表中 的相关文章

随机推荐

  • 在 django 中处理单个 html 表单的多个输入值

    我有一个带有 3 个输入和步骤按钮的 html 表单 1st step user must put first name and press button 1 2nd step user must put last name and pre
  • system.web.mail 与 system.net.mail [重复]

    这个问题在这里已经有答案了 有什么区别System Web Mail and System Net Mail System Web Mail位于 NET Framework v1 1 中 System Net Mail NET Framew
  • 在同一项目中的多个角度应用程序之间共享模块

    这个问题之前已经被问过 但需要更清楚 是否有可能以某种方式将模块或单个组件从 Angular CLI 应用程序重用到另一个应用程序 由于现在可以在一个 angular cli 项目中拥有多个应用程序 因此我利用这一点能够构建两种不同类型的捆
  • NumPy 中网格的用途是什么?

    目的是什么np meshgrid 我知道它创建了某种用于绘图的坐标网格 但我看不到它的直接好处 官方文档给出了以下示例 但其输出对我来说没有意义 x np arange 5 5 1 y np arange 5 5 1 xx yy np me
  • 具有重复项的 BST

    我知道 BST不允许重复 例如 如果我有一个词 RABSAB 上述字符串的二叉搜索树是 R A S B 如果我们想在树中包含重复项怎么办 树会发生什么变化 我在一次采访中被问到这个问题 他们让我画 一棵二叉树 不平衡的二叉搜索树 没有重复项
  • 使用UPDLOCK和READPAST选择top 1对整个表设置排他锁

    我在存储过程中使用 UPDLOCK 和 READPAST sql 提示来实现一种表队列 我说排序是因为我选择前 1500 个而不是前 1 个 并且我不会删除之后的行选择它们 有关更多详细信息 请参阅问题在 选择前 n 查询中返回未锁定的行
  • 从字符串中删除反斜杠

    我正在从 txt 文件读取文本并将内容传递给 SQL SQL 文本包含双引号并导致问题 我想删除下面字符串中的 以便我可以将其发送到 SQL test lt select case when est dsaf test lt cat tes
  • 拖动子元素时会触发父元素的“dragleave”

    Overview 我有以下 HTML 结构 并附上了dragenter and dragleave事件到 div 元素 div div div div class text this is some text div div class t
  • 从多线程使用 QSqlQuery

    我有很多 C 11 线程正在运行 它们有时都需要数据库访问 主要是我初始化数据库连接并打开数据库 Qt 文档说查询不是线程安全的 因此我使用全局互斥体 直到线程内存在 QSqlQuery 这可行 但是否保证有效 或者我有时会遇到问题 看看文
  • 如何在 Dart 代码中从 REST api 解码 utf-8?

    我正在尝试使用 REST API 从 Wordpress 站点创建新闻报道应用程序 但它是用 UTF 8 编码的 我是 Dart 新手 我所知道的是我可以通过字符数组而不是给出字符串 作为输入 来解码 Utf 8 那么如何为我的应用程序解码
  • 使用 javascript/jQuery 获取父 div 内的鼠标位置[重复]

    这个问题在这里已经有答案了 可能的重复 jQuery 获取元素内的鼠标位置 我有一个页面 在该页面内有一个 div 如果用户在该 div 内单击 它将存储他们在该 div 内单击的位置的 X Y 坐标 例如 如果我单击 div 的左上角 无
  • 未捕获错误:NOT_FOUND_ERR:appendChild 调用的 DOM 异常 8 [重复]

    这个问题在这里已经有答案了 可能的重复 javascript addChild 不起作用 错误发生在该片段的最后一行 var anchor a href imagename a var specialdiv document getElem
  • Elasticsearch 在 java api 中的内部命中

    我正在尝试使用 Java API 通过 elasticsearch 实现内部命中 但我找不到太多关于它的文档或其他人正在使用的示例 我的 JSON 搜索工作原理如下 query filtered query match all filter
  • 从数据库读取 BLOB(PDF 内容)并编辑和输出 PDF 编辑文件,无需创建物理文件

    我正在使用 Oracle 数据库并将 PDF 内容存储在 BLOB 字段中 我想读取BLOB内容 然后编辑并输出编辑后的内容 我需要做的编辑是 在 BLOB 内容上方添加标题 在每个页面上添加水印 在每个页面上添加页脚 然后我需要输出文件
  • HttpWebRequests 后续调用失败

    我知道这是一个模糊的问题 特别是因为我没有提供任何代码 但我正在开发一个 Net 2 0 应用程序 并且我们有一个 WebRequest 将数据发布到内部构建的 API 奇怪的事情发生在我们的第三个 并且总是第三个 后续请求上 该请求在请求
  • 伴生对象无法访问类上的私有变量

    来自 Scala REPL 的相当奇怪的行为 尽管以下编译没有问题 class CompanionObjectTest private val x 3 object CompanionObjectTest def testMethod y
  • 找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

    签署第三方程序集并将其添加到 GAC 后 我收到以下错误 程序集绑定程序日志条目也显示这个错误 它说不匹配的程序集不确定如何错误 因为我删除了所有 obj 和 bin 折叠并批量构建了应用程序 重新导入了 dll Assembly mana
  • Socket.IO 客户端 .js 文件位于哪里?

    我正在尝试让 socket io 节点库 工作 我的服务器端 js 正在工作 并且它正在监听 socket io 网站简单说明 这很好 但是 我要导入什么 JS 文件 我进入了node modules目录 在那里我通过npm安装了soc
  • 有没有办法在node.js的对象文字中指定ES6生成器方法?

    我似乎无法创建一个生成器方法作为对象文字 这是我的工作源代码 function getRecords data for var i 0 i lt data length i yield data i var records getRecor
  • 在 Python 中将重复项保留在列表中

    我知道这可能是一个简单的答案 但我无法弄清楚 Python 中将重复项保留在列表中的最佳方法是什么 x 1 2 2 2 3 4 5 6 6 7 输出应该是 2 6 我找到了这个链接 在 python 中查找 并保留 子列表的重复项 但我对