另一个常见的用例是将多个namedtuple实例存储在列表中,并根据某些条件对它们进行排序。例如,假设我们有一个颜色列表,我们需要按alpha强度对其进行排序。

幸运的是,Python允许使用非常Python化的方式来执行此操作。我们可以使用operator.attrgetter运算符。根据文档,attrgetter“返回从其操作数获取attr的可调用对象”。简单来说就是,我们可以通过该运算符,来获取传递给sorted函数排序的字段。例:

from operator import attrgetter
...
colors = [Color(r=50, g=205, b=50, alpha=0.1),Color(r=50, g=205, b=50, alpha=0.5),Color(r=50, g=0, b=0, alpha=0.3)
]
...
>>> sorted(colors, key=attrgetter("alpha"))
[Color(r=50, g=205, b=50, alpha=0.1),Color(r=50, g=0, b=0, alpha=0.3),Color(r=50, g=205, b=50, alpha=0.5)]
复制代码

现在,颜色列表按alpha强度升序排列!

如何对namedtuples列表进行排序相关推荐

  1. python argsort排序结果_numpy.argsort()可以对元组或列表进行排序

    浅谈numpy.argsort()第一个参数a 1:Help文档: numpy.argsort = argsort(a, axis=-1, kind='quicksort', order=None) ...

  2. python 字典的值是列表_python实现求和python如何通过列表中字典的值对列表进行排序...

    一. 按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} 1. sorted_x = sorted(x.iteritems(), key=operator.item ...

  3. Dart对列表进行排序

    我的公众号 在 Dart 编程中,List 数据类型类似于其他编程语言中的数组.列表用于表示对象的集合.它是一组有序的对象.Dart 中的核心库负责 List 类的存在.创建和操作.列表的排序取决于我 ...

  4. python list map成员排序_python – 同时对多个列表进行排序

    简短的回答 a_s, b_s, c_s = map(list, zip(*sorted(zip(a, b, c), reverse=True))) 答案很长 首先,您必须压缩三个列表,创建一个项目列表 ...

  5. 使用比较器的nulls对具有null值的列表进行排序

    你好朋友, 在本教程中,我们将看到如何使用Java 8 Comparator.nullsFirst在列表中的项目很少为空时如何对项目列表进行排序,以便将null视为列表中的最小元素. –什么是比较器 ...

  6. 使用NetBeans Lambda支持在Java 8中使用Lambda表达式对列表进行排序

    作为JSR 335的一部分, Lambda表达式已从Java 8开始引入Java语言,这是Java语言的一个重大变化. 如果您想了解更多关于Lambda表达式以及JSR 335的信息,可以访问以下资源 ...

  7. python字符串排序_Python-如何对字符串列表进行排序?

    小编典典 基本答案: mylist = ["b", "C", "A"] mylist.sort() 这会修改你的原始列表(即就地排序).要获 ...

  8. python字符串排序_Python对字符串列表进行排序

    在本教程中,我们将看到如何对字符串列表进行排序.我们将使用sort方法和sorted函数对给定的字符串列表进行排序.然后,我们将了解如何根据不同的条件(例如长度,值等)对字符串列表进行排序, 让我们看 ...

  9. Magento: 设置产品列表默认排序方式 How to sort Magento products by date added as default

    方法一: 安装插件 Sort By Date(https://www.magentocommerce.com/magento-connect/sort-by-date.html) 方法二: 非插件 T ...

最新文章

  1. html图标点击转换颜色,PNG格式小图标的CSS任意颜色赋色技术_html/css_WEB-ITnose
  2. python第三方库numpy-Python三方库:Numpy(数组处理)
  3. 如何在eclipse中自定义一个jar包名称
  4. 数据类型不匹配_笔记 | 自学Python 06:数据类型之列表
  5. 如此接私活So easy:给开发者,PM,设计师
  6. SAP Spartacus cost center list class的赋值逻辑
  7. Framework 1.0/1.1中NotifyIcon的不足
  8. TP、PHP同域不同子级域名共享Session、单点登录
  9. 双十一囤点知识干货!
  10. 冒泡排序+查找打印——上海大学C语言考试
  11. linux命令(56):环境变量:/etc/profile、/etc/bashrc 、~/.profile、~/.bashrc
  12. c语言编辑游戏时用哪个软件,我想用C语言编写一个小型游戏,使用什么软件
  13. BP神经网络预测实例(matlab代码,神经网络工具箱)
  14. Windows XP SP3安装后瘦身法
  15. java中IO流的父类_Java-IO流的总结-字节流
  16. Shell脚本实现俄罗斯方块小游戏
  17. DIV+CSS学习笔记总结篇
  18. 网恋背后的骗局:那些被宰杀掉的猪!必看!
  19. 利用ode45求解含控制量并且控制量为离散点的动力学方程
  20. 如何让小红书笔记排名在前面(小红书笔记排名至顶)?

热门文章

  1. dataframe 输出标题_【学界】第八章:Python代码之数据输出、调参与算法总结
  2. activiti 工作流_activiti-boot快速开发工作流框架
  3. csv逗号分隔符转换_机器学习Python实践——数据导入(CSV)
  4. 陷阱房图纸_揭秘户型图 | 研究了100个户型图后,我发现了这4个重大陷阱
  5. python绘制四边螺旋线代_Python绘制3d螺旋曲线图实例代码
  6. 计算机语言分类:机器语言、汇编语言、标记语言、脚本语言、编程语言
  7. mysql 无法链接, 输入密码失败
  8. IntelliJ IDEA 2017 MySQL5 绿色版 Spring 4 Mybatis 3 配置步骤详解(二)
  9. Hive-RCFile文件存储格式
  10. Flex 结合sandy引擎创造