python - 按python子列表中的值排序

标签 python sorting

我的列表包含许多这种格式的元素

(23, (12,16,42))

我现在的基本排序将默认按子列表中的第一个值排序。

value = sorted(list, key=itemgetter(1))

我想使用描述的二级排序选项 http://wiki.python.org/moin/HowTo/Sorting/

sorted(student_tuples, key=itemgetter(1,2))

那么子列表中的每一项都有一个地址吗?我试图找到一些方括号或冒号表示法,但我想只是还没发现。

示例未排序列表

(0, (81.0, 5.0, 83.0)), (1, (81.0, 1.0, 26.0)), (2, (80.0, 1.0, 44.0)), 

输出类似于

(2, (80.0, 1.0, 44.0)), (1, (81.0, 1.0, 26.0)), (0, (81.0, 5.0, 83.0))

(w, (x,y,z))

所以第一个排序是在 x 上。如果有多个 x 值,则按 y 对它们进行排序

最佳答案

自己定义:

sorted(list, key=lambda item: item[0][1])
# or whatever other sort of indexing you want

在你的例子中,你想要的索引是:

sorted(list, key=lambda item: (item[1][0], item[1][1]))

因为比较元组是通过成对比较元素来工作的。 key 是将项目转换为可以直接比较以获得所需比较结果的事物的任何可调用对象。

关于python - 按python子列表中的值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6908167/

相关文章:

python - Rest Api 后定义失败 | python | flask

python - 如果我使用 mod_wsgi 来提供应用程序,在哪里可以看到标准输出?

python - 我无法使用 FIND_NEXT_SIBLING 而不是 PARENT 和 NEXT_ELEMENT 优化 beautifulsoup 查询

java - 为什么在排序数组的二分查找场景中仍然出现错误情况?

java - 树集中的字母排序不起作用

jquery - 如何在 Bootstrap 数据表插件上对日期格式 d/m/y 进行排序?

python - 在同一个 IPython Notebook 单元格中制作多个图表

python - 给定转移概率矩阵,如何生成随机序列?

linux - 如何对 linux bash * 字母数字字符串进行排序

ruby-on-rails - Rails where, sort and combining 同一张表