Python从列表中删除特定的重复项

2024-03-02

我想从列表中删除特定的重复项。使用 Perl,我将使用以下代码完成任务:

my @list = ( 'a1', 'a1', 'b1', 'b1' );

my %seen;
@list = grep( !/a\d/ || !$seen{ $_ }++, @list );

想要的结果是这样的:

@list = ( 'a1', 'b1', 'b1' );

我如何在 Python 3 中使用正则表达式和列表理解来做到这一点。谢谢。


您可以使用itertools.chain https://docs.python.org/2/library/itertools.html#itertools.chain and groupby https://docs.python.org/2/library/itertools.html#itertools.groupby :

>>> list(chain(*[[i[0]] if 'a1' in i else i for i in [list(g) for _,g in groupby(sorted(l))]]))
['a1', 'b1', 'b1']

如果你只是想使用regex您可以连接 n 使用的元素re.sub,但请注意,它适用于这种特殊情况!那,是分隔符! :

>>> l =['a1', 'a1', 'b1', 'b1']
>>> re.sub(r'(a1,)+','a1,',','.join(sorted(l))).split(',')
['a1', 'b1', 'b1']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python从列表中删除特定的重复项 的相关文章

  • 避免由于相对 URL 导致的错误请求

    我正在尝试使用Scrapy抓取一个网站 并且我想要抓取的每个页面的url都是使用这种相对路径编写的 a href en item to scrap html Link a 现在 在我的浏览器中 这些链接可以工作 您可以访问类似的网址http
  • 在 Python 中使用 Selenium 处理“接受 Cookie”弹出窗口

    我一直在尝试用硒抓取这个房地产网站的一些信息 但是 当我访问该网站时 我需要接受 cookie 才能继续 这仅在机器人访问网站时发生 而不是在我手动执行时发生 当我尝试通过 xpath 或 id 查找相应的元素时 正如我在手动检查页面时找到
  • Python BeautifulSoup XML 解析

    我编写了一个简单的脚本来使用 BeautifulSoup 模块解析 XML 聊天日志 标准 soup prettify 工作正常 只是聊天日志中有很多绒毛 您可以在下面看到我正在使用的脚本代码和一些 XML 输入文件 Code import
  • Python - 用逗号分割,跳过括号内的内容

    我需要用逗号分隔字符串 但我对这种情况有一个问题 TEXT EXAMPLE THIS IS A EXAMPLE BUT NOT WORKS FOR ME SECOND THIRD 我想拆分并得到 var 0 TEXT EXAMPLE THI
  • 带图像的简单 GUI [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我试图在简单的 GUI 上显示一些卡
  • 为什么 Python 中的“pip install”会引发语法错误?

    我正在尝试使用 pip 安装软件包 我试着跑pip install从Python shell 但我得到了SyntaxError 为什么我会收到此错误 如何使用 pip 安装软件包 gt gt gt pip install selenium
  • 如果字段值在外部列表中,Django 会注释布尔值

    想象一下我有这个 Django 模型 class Letter models Model name models CharField max length 1 unique True 还有这个列表 vowels a e i o u 我想查询
  • Python igraph:从图中删除顶点

    我正在使用安然电子邮件数据集 并尝试删除没有 enron com 的电子邮件地址 即我只想拥有安然电子邮件 当我尝试删除那些没有 enron com 的地址时 一些电子邮件由于某些原因被跳过 下面显示了一个小图 其中顶点是电子邮件地址 这是
  • 无法打开 Python。错误 0xc000007b

    我最近一直在学习 Python 3 我在我的上网本 32 位 Windows 7 上创建简单的小程序没有任何问题 当我将它安装在我的上网本上时 我没有遇到任何问题 但现在我已经开始使用它了 我想将它安装在我的台式机上 并且我有一个 我的桌面
  • 创建一个类似于 Tkinter 的表

    我希望创建类似于 Tkinter 中的表格的东西 但它不一定是这样的 例如 我想创建标题 Name1 Name2 Value 并在每个标题下面有几个空白行 然后 我希望稍后用我计算的值或名称的字符串值填充这些行 因此是标签 对于 Name2
  • 如何通过双击在浏览器中打开 ipynb 文件

    以前 我安装了 Canopy 当时 我只需双击 ipynb 文件并在浏览器中打开它们即可 但是 后来我需要Anaconda 一旦我安装了它 这个功能就没有了 现在我只希望能够简单地双击 ipynb 文件 然后该文件就会在 Firefox 中
  • matplotlib matshow 标签

    我一个月前开始使用 matplotlib 所以我仍在学习 我正在尝试用 matshow 制作热图 我的代码如下 data numpy array a reshape 4 4 cax ax matshow data interpolation
  • 更改 pandas 中多个日期时间列的时区信息

    有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地 任何时区 不是逐列进行吗 您可以有选择地将转换应用于所有日期时间列 首先 选择它们select dtypes https pandas pydata org pandas docs
  • 获取列表中倒数第二个元素[重复]

    这个问题在这里已经有答案了 我可以通过以下方式获取列表的倒数第二个元素 gt gt gt lst a b c d e f gt gt gt print lst len lst 2 e 有没有比使用更好的方法print lst len lst
  • select() 可以在 Windows 下使用 Python 中的文件吗?

    我正在尝试在 Windows 下运行以下 python 服务器 An echo server that uses select to handle multiple clients at a time Entering any line o
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • 如何在sphinx中启用数学?

    我在用sphinx http sphinx pocoo org index html与pngmath http sphinx pocoo org ext math html module sphinx ext pngmath扩展来记录我的代
  • 如何禁止 celery 中的 pickle 序列化

    Celery 默认使用 pickle 作为任务的序列化方法 如中所述FAQ http ask github com celery faq html isn t using pickle a security concern 这代表一个安全漏
  • 在 Python 模块中使用 InstaLoader

    我正在尝试使用 Instaloader 下载与主题标签相关的照片以进行图像分析 我在GitHub存储库中找到了一个全面的方法 如何在终端中执行它 但是 我需要将脚本集成到Python笔记本中 这是脚本 instaloader no vide
  • 来自 django 教程 was_published_recently.admin_order_field = 'pub_date'

    From Django 教程 https www jetbrains com help pycharm 2017 1 creating and running your first django project html d28041e21

随机推荐

  • 如何使用 sklearn Pipeline 转换项目?

    我有一个简单的 scikit learnPipeline共两个步骤 aTfIdfVectorizer随后是一个LinearSVC 我已经使用我的数据拟合了管道 都好 现在我想使用我的拟合来转换 而不是预测 一个项目pipeline I tr
  • 为 git log 这样的两个字命令创建别名?

    有时我有两个词的命令 例如git log or apt get install我想添加一个默认参数 例如 大多数时候我想添加 abbrev commit参数给我的git log 以及 y参数为apt get install git log
  • 如何动态地将 标签附加到

    标签的特定位置?

    本质上 我正在尝试实现一个在选择时突出显示某些文本的功能 这仅适用于 Google Chrome 浏览器 例如 选型前 p sample text p 从 示例文本 中选择 文本 后 p sample span class state hi
  • oozie Sqoop 操作无法将数据导入到 hive

    我在执行 oozie sqoop 操作时遇到问题 在日志中我可以看到 sqoop 能够将数据导入到临时目录 然后 sqoop 创建 hive 脚本来导入数据 将临时数据导入配置单元时失败 在日志中我没有收到任何异常 下面是我正在使用的 sq
  • MVC 路由捕获文件名作为参数

    我正在尝试使用 MVC 生成一个简单的 WebDAV 服务器 并且我终于达到了需要向用户提供请求的文件的阶段 我设置了一条用于遍历目录结构的路线 webdav path 工作正常 直到该路径以文件名结束为止 此时 IIS 似乎确定它是静态文
  • 带有 php 和 ssl 的本地主机服务器

    我正在寻找允许使用 ssl 启动 php 文件的服务器 我尝试过例如 python 简单服务器 import BaseHTTPServer SimpleHTTPServer import ssl httpd BaseHTTPServer H
  • 如何在Python中创建随机的圆数组而不重叠?

    我想知道如何在Python中创建一些不重叠的圆圈 Let me share a part of my script 在第 55 56 和 57 行中 我打印了坐标 见证了重叠 在每个 for 语句中 我认为我避免了重叠执行诸如二分法 求根方
  • Git - 如何在 Windows 上使用 .netrc 文件保存用户和密码

    当我使用 Git 通过 HTTP 和用户密码克隆远程存储库时 是否可以在 Windows 上使用 netrc 文件 是否可以使用 netrcWindows 上的文件 是的 您必须 定义环境变量 HOME Git 2 0 之前的版本 Git
  • Windows批处理脚本url解码

    我有一个批处理脚本可以在我的网络上触发 vlc 问题是它根据浏览器中的 URL 打开 浏览器会自动添加 20 来代替常规空格 在将文件路径发送到 vlc 之前 我需要在批处理脚本中再次将其替换为常规空格 这是我的代码 echo off se
  • 如果Python中用户输入为空,如何定义默认值?

    如果用户从键盘输入值 我必须设置默认值 这是用户可以输入值的代码 input int raw input Enter the inputs Here the value will be assigned to a variable inpu
  • 如何在没有 Kerberos 的情况下启动 Spark 3.0.0 kubernetes 工作负载?

    似乎在 Spark 3 0 0 上 当我使用 kubernetes 进行 Spark 提交时 它需要 kerberos 我使用在 2 4 5 中运行良好的相同 Spark 提交 我收到此错误 Using Spark s default lo
  • 如何在 Perl 中用子函数重写父类函数?

    我想替换子类中的父函数 Somefunc 所以当我调用 Main 过程时它应该失败 在 Perl 中可以吗 Code package Test use strict use warnings sub Main SomeFunc or die
  • 使用nodejs预编译Emberjs Handlebar模板的简单方法?

    我非常喜欢 emberjs 并且希望在我的几个小型移动应用程序中采取下一步 并预编译我的 Ember Handlebars 模板作为我的构建过程的一部分 我宁愿远离 Ruby 而希望使用 node js 因为我更喜欢使用它 我相信我想使用的
  • TFS 2013(更新 2)团队警报不发送电子邮件

    我关注了讨论here https stackoverflow com questions 14566315 tfs 2012 team alerts not sending emails我也有类似的案例就在我将 Update 2 应用到 T
  • 如果未获取唤醒锁并且设备进入睡眠状态,具体哪些功能会停止工作?

    在过去的几天里 我一直试图找出当设备在没有唤醒锁的情况下进入睡眠状态时 服务 后台和前台 中的哪些功能停止工作 所有文档都只说唤醒锁 防止 CPU 关闭 但如果我关闭屏幕并拔掉设备插头 我测试过的每一项功能都可以在没有唤醒锁的情况下继续工作
  • 无法确定 Electron 版本。请指定 Electron 版本

    我试图创建可执行文件electron app但面临这个问题 无法确定 Electron 版本 请指定 Electron 版本 虽然我有electron全球安装在我的机器上 但仍然给我错误 Install electron as dev de
  • 如何将 UPC-A 转换为 UPC-E?

    我们想要将 12 位 UPC A 转换为 8 位 UPC E 您能告诉我哪种方法是最好的方法 而无需使用我自己的代码进行转换 我有很多将 8 位 UCC E 转换为 12 位 UPC A 的公式 但不能反转 从以下模式映射可以最清楚地看出在
  • 捕获错误:损坏的 JPEG 数据:数据段过早结束

    当使用损坏 不完整的 JPEG 数据创建 UIImage 时 控制台将打印出
  • 带有向下钻取/可点击饼图部分的 jquery 饼图

    我正在寻找一个 JQuery 插件来制作饼图 我可以根据饼图楔形的值单击其楔形或切片以转到另一个页面 我有一个饼图 其中包含班级成绩 A F 如果有人点击 A 楔形 我想重定向到显示 A 学生的页面 我用 jQuery 并打开 flash
  • Python从列表中删除特定的重复项

    我想从列表中删除特定的重复项 使用 Perl 我将使用以下代码完成任务 my list a1 a1 b1 b1 my seen list grep a d seen list 想要的结果是这样的 list a1 b1 b1 我如何在 Pyt