python-按值分组列表

假设我有一个这样的列表:

list = [["A",0], ["B",1], ["C",0], ["D",2], ["E",2]]

我如何最优雅地将其分组以在Python中获得此列表输出:

list = [["A", "C"], ["B"], ["D", "E"]]

因此,这些值将按第二个值分组,但顺序会保留...

Veles asked 2020-01-08T19:44:08Z

6个解决方案

82 votes

values = set(map(lambda x:x[1], list))

newlist = [[y[0] for y in list if y[1]==x] for x in values]

Howard answered 2020-01-08T19:44:23Z

29 votes

from operator import itemgetter

from itertools import groupby

lki = [["A",0], ["B",1], ["C",0], ["D",2], ["E",2]]

lki.sort(key=itemgetter(1))

glo = [[x for x,y in g]

for k,g in groupby(lki,key=itemgetter(1))]

print glo

编辑

另一个不需要导入的解决

python列表元素按条件分组_python-按值分组列表相关推荐

  1. python列表元素零的移动_python列表多行

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 这个列表推导式共有145列: memberdef_list = and std: ...

  2. python删除列表元素的所有方法_python 列表删除所有指定元素的方法

    python 列表删除所有指定元素的方法 如下所示: a = [1,1,1,2,3,45,1,2,1] a.remove(1) result: [1,1,2,3,45,1,2,1] while 1 i ...

  3. python输出键值列表_Python 键值分组或分区数据

    Python 使用键值分组或者分区数据,对分组后的数据做何种归约是没有限制的.数据中可能包含一些自变量或者因变量.可以通过自变量对数据进行分区,然后计算每个分区的各项汇总值,包括最大值.最小值.平均值 ...

  4. python列表元素下标是什么_python列表中元素插入位置总结

    python列表中元素插入位置总结 , python中列表去掉最后一个元素 ist.insert(index,obj) 列表与方法之间用点号相隔,括号内需要添入的参数分别是索引和要插入的元素. 要完成 ...

  5. python中列表的元素是什么数据类型_python基本数据类型之列表和元组(一)

    python基本数据类型之列表与元组(一) python中list与tuple都是可以遍历类型.不同的是,list是可以修改的,而元组属于不可变类型,不能修改. 列表和元组中的元素可以是任意类型,并且 ...

  6. python 列表 元祖 字典 集合_python基础知识之列表、元祖、字典、集合、字符串。...

    1.可变类型之列表 列表用 [ ]来定义是可变的,可以通过索引值来去查询里面的字段可以可以追加,删除等 ```python names='zhangyang guyun xiangpeng xulia ...

  7. python find函数 和index的区别_【全网最简单Python教程】--10.列表元素的索引和返回索引值(Index函数使用)...

    在练习日4中,小鱼给大家讲述了神秘的ASCII码编译及解密过程. 在ASCII码中,字符与十进制数字的互相转换是通过 ord()函数和chr()函数. 今天小鱼要给大家介绍另一种在影视剧.侦探小说中更 ...

  8. python列表推导式生成随机数_python 【迭代器 生成器 列表推导式】

    python [迭代器  生成器  列表推导式] 一.迭代器 1.迭代器 如何从列表.字典中取值的 index索引 ,key for循环 凡是可以使用for循环取值的都是可迭代的 可迭代协议 :内部含 ...

  9. python列表所有元素平均值_【全网最简单Python教程】--10.列表元素的索引和返回索引值(Index函数使用)...

    在练习日4中,小鱼给大家讲述了神秘的ASCII码编译及解密过程. 在ASCII码中,字符与十进制数字的互相转换是通过 ord()函数 和 chr()函数. 今天小鱼要给大家介绍另一种在影视剧.侦探小说 ...

  10. python删除列表元素_追求简单C++之删除STL列表的元素

    本文介绍了STL列表中的删除方面. 1.使用list :: erase():此函数的目的是从列表中删除元素.使用此功能可以删除范围内的单个或多个连续元素.该函数有两个参数,开始迭代器和结束迭代器. 2 ...

最新文章

  1. PopupWindow响应返回键的问题
  2. JFreeChart使用说明一--api介绍
  3. Mariadb修改root密码
  4. I2C_ADDRS(addr, addrs...)理解
  5. excel填充序列_excel如何快速填充数据
  6. 在SqlServer中把多个job生成一个sql脚本
  7. SQL计算100以内的质数(可以把100换成任意的整数)
  8. gRPC在C#中的未来属于grpc-dotnet
  9. 简述垃圾对象产生_使用零垃圾创建数百万个对象
  10. android技巧:把自己的app变成手机系统自带的app[/system/app]
  11. 双联通分量求简单环(Educational Codeforces Round 42: F. Simple Cycles Edges)
  12. WPF MVVM 架构 Step By Step(4)(添加bindings - 完全去掉后台代码)
  13. Oracle函数HEXTORAW乱码,Oracle常用函数之HEXTORAW
  14. Android uni app原生插件页面全屏Activity的键盘档住输入框或弹起键盘跳动问题
  15. android studio模拟器出错,A resource failed to call close
  16. xxx不在 sudoers 文件中,此事将被报告
  17. VS2019加载QT插件提示“未将对象引用到对象的实例” 以及 “未能正确加载VSIX包”的问题
  18. 小灵通退市:生得伟大 死得光荣!
  19. 什么是期货反向跟单?
  20. window服务安装、卸载

热门文章

  1. NCA9555/PCA9555代码 通用总线IO扩展器芯片驱动
  2. 快速沃尔什变换学习笔记
  3. 计算机网络通信模型之cs模式(一)简单的socket
  4. 量化交易零基础入门教程
  5. 带色彩恢复的视网膜增强算法实现 (MATLAB版本)
  6. 开篇鸿蒙谁为情种,曹雪芹  红楼梦引子    开辟鸿蒙,谁为情种?都只为风月情浓。 这句话什么意思 只要这句话的解释...
  7. Windows C编程中Win7隐藏任务栏图标方法
  8. gin结合endless实现热更新
  9. DM8 Linux服务注册
  10. C#调用支付宝转账接口 已调通