python中的列表列表的集合

2024-05-14

我有一个列表列表 :

mat = [[1,2,3],[4,5,6],[1,2,3],[7,8,9],[4,5,6]]

我想转换成set即删除重复列表并从中创建一个新列表,其中仅包含unique lists.

在上述情况下,所需的答案将是

[[1,2,3],[4,5,6],[7,8,9]]

但当我这样做时set(mat),它给了我错误

类型错误:不可散列的类型:“列表”

你能解决我的问题吗?提前致谢!


自从列表是可变的,它们不能被散列 https://stackoverflow.com/a/23268979/1903116。最好的办法是将它们转换为元组并形成一个集合,如下所示

>>> mat = [[1,2,3],[4,5,6],[1,2,3],[7,8,9],[4,5,6]]
>>> set(tuple(row) for row in mat)
set([(4, 5, 6), (7, 8, 9), (1, 2, 3)])

我们迭代通过mat,一次一个列表,将其转换为一个元组(它是不可变的,所以sets 对他们很酷)并且发电机被发送到set功能。

如果您希望结果作为列表的列表,您可以通过转换结果来扩展它set函数调用,列表,像这样

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

python中的列表列表的集合 的相关文章

随机推荐

  • Hive“添加分区”并发

    我们有一个外部 Hive 表 用于处理原始日志文件数据 这些文件每小时一次 并按日期和源主机名分区 目前 我们正在使用简单的 python 脚本导入文件 这些脚本每小时触发几次 该脚本根据需要在 HDFS 上创建子文件夹 从临时本地存储复制
  • 使用 iPhone 控制蓝牙音频设备

    我正在寻找为 iPhone 编写应用程序 它将能够控制汽车中的收音机和 CD 播放器 收音机和播放器具有可用的蓝牙连接 我开始这个问题是为了获得这个地方所需的所有信息 我有几个问题 但如果您发现任何我没有要求的对我开始开发此应用程序不重要的
  • 如何在 pyopencl 中创建可变大小的 __local 内存?

    在我的 C OpenCL 代码中我使用clSetKernelArg创建 可变尺寸 local我的内核中使用的内存 OpenCL 本身不提供该内存 看我的例子 clSetKernelArg clKernel ArgCounter sizeof
  • 如何在 PHP MYSQL 中将数据库表和每条记录从一台数据库服务器复制到另一台数据库服务器?>

    您好 我编写了一段代码 可以将数据库表从一个服务器复制到另一个服务器 但是每个表的记录没有复制 如何编写一个可以将表和每个记录从一个数据库服务器复制到另一个数据库服务器的函数 这是我的示例代码
  • return float(value) ValueError: 无法在 Django 模型中将字符串转换为浮点数

    我尝试在这个 Django 模型上进行迁移 迁移 from django db import models from myapp models import Site class GscElement models Model ctr mo
  • 动态设置父活动

    因此 目前我有一个可以从两个不同活动访问的活动 问题是我只能在清单 XML 文件中将一个活动设置为父活动 显然 这是糟糕的 UX UI 设计 因为该活动可能会将用户带回到他们之前所在的错误活动 因此我尝试动态设置哪个活动是父活动 问题是我不
  • 如何使 case 语句匹配数字范围?

    我正在运行一个列号范围为 0 50 的开关案例 现在每个案例都支持离散列号 我观察到它的失败 这是代码 i 10 a 1 b 0 65 if a b then case i in 1 2 5 echo Not OK 9 10 12 echo
  • 指定命名空间时,无法使用 nginx-stable 中的 helm 安装 nginx ingress

    我有个问题 我正在尝试使用 helm 3 安装 nginx 但当我指定命名空间时它不起作用 知道为什么吗 它无需任何操作即可工作 helm install nginx release nginx stable nginx ingres n
  • 如何将 Android Room 数据库中的 Not Null 表列迁移为 Null

    我是 Android 房间库的新手 我需要将 Not Null 列迁移到 Null 但房间迁移只允许在 ALTER 表查询中添加或重命名 如何执行列迁移查询 Entity tableName vehicle detail data clas
  • SQL中如何合并多个表的数据

    我想我的处境很复杂 这是场景 我在 SQL Server 中有 3 个表 注册 学生 课程 仅供参考 没有外键 表的列是 Student 学生号 学生名 Course 课程 ID 课程名称 注册 注册 ID 学生 ID 课程 ID 课程结果
  • 如何在 Flutter 中删除/减少 CheckboxListTile 的文本和复选框之间的空间?

    如何减少 删除下图中 CheckboxListTile 和文本之间的空间 看来以下行仅删除了周围的空间 CheckboxListTile title Text Account number not available contentPadd
  • lmer(来自 R 包 lme4)如何计算对数似然?

    我试图理解 lmer 函数 我发现了很多关于如何使用该命令的信息 但关于它实际执行的操作的信息却很少 除了这里的一些神秘注释 http www bioconductor org help course materials 2008 PHSI
  • 在使用 supertest 和 Node.js 的测试中,res.body 为空

    我正在测试 Node js API超级测试 https github com visionmedia supertest 我无法解释为什么res body对象超集返回为空 数据显示在res text对象 但不是res body 知道如何解决
  • 无法在 .tsx 文件中导入 CSS 模块

    我正在使用 typescript 构建基本的 React 应用程序 但无法导入 CSS 文件索引 tsx file 我能够导入索引 css文件如下 import index css this import gives typescript
  • 截取屏幕截图时出现异常 null 且配置失败:@AfterMethod 拆解

    从昨天开始我遇到了一些麻烦并且陷入困境 无法找出其原因 在这里尝试了答案的解决方案 我创建了 Test 其中包含用于登录和检查应用程序仪表板的代码示例 和 AfterMethod 当 Assert 为 false 时 应该捕获屏幕截图 如果
  • LINQ to SQL 特性

    我遇到了 LINQ to SQL 的一些特殊情况 通过一个相对简单的查询 我想选择一些字段 但将日期字段格式化为字符串 我首先是这样实现的 var list dataContext MyLists Single x gt x ID myId
  • 如何读取 Xcode 6.1 Instruments .trace 文件?

    我一直在尝试阅读 trace文件 我使用生成的custom仪器模板 仪器 自动机 分配 Leaks using 仪器 https developer apple com library mac documentation Developer
  • 调用 X 函数的函数

    我基本上想将列表元素变成一个函数 do 函数 这样我就可以通过使用 a 来调用任何预先编写的函数 执行 列表 x 我想做的是一个函数 它去掉列表元素的引号 然后执行该列表元素中的函数 def func print python def fu
  • jQuery:捕获图像加载事件错误404,可以做到吗?

    我基本上是循环播放一堆 YouTube 视频网址来获取每个视频id code 然后 我重申列表中的所有 缩略图 图像 并将源替换为 YouTube 视频缩略图 URL 我当前遇到的问题是 如果视频已从 youtube 中删除 则生成的图像源
  • python中的列表列表的集合

    我有一个列表列表 mat 1 2 3 4 5 6 1 2 3 7 8 9 4 5 6 我想转换成set即删除重复列表并从中创建一个新列表 其中仅包含unique lists 在上述情况下 所需的答案将是 1 2 3 4 5 6 7 8 9