我在列表列表或元组列表中都有一些数据,如下所示:
data = [[1,2,3], [4,5,6], [7,8,9]]
data = [(1,2,3), (4,5,6), (7,8,9)]
我想按子集中的第二个元素排序。这意味着,由2,5,8
,其中排序2是(1,2,3),5
是从(4,5,6)
。常见的做法是什么?我应该将元组或列表存储在列表中吗?
sorted_by_second = sorted(data, key=lambda tup: tup[1])
要么:
data.sort(key=lambda tup: tup[1]) # sorts in place
问题内容: 从经验上讲,似乎Python的默认列表排序器在传递元组列表时将按每个元组中的第一个元素进行排序。那是对的吗?如果不是,按元组的第一个元素对元组列表进行排序的正确方法是什么? 问题答案: 它会自动按元组中的第一个元素对元组列表进行排序,然后按第二个元素进行排序,依此类推,tuple([1,2,3])将排在tuple([1,2,4])之前。如果要覆盖此行为,请将一个callable作为第二
问题内容: 如何按自定义顺序排序? 输入: 预期结果: 我的python代码现在如下: 问题答案: 使之间的映射,,0,1,2 并将映射用于排序键:
主要内容:算法总结及实现,优化算法在实际开发中,有很多场景需要我们将数组元素按照从大到小(或者从小到大)的顺序排列,这样在查阅数据时会更加直观,例如: 一个保存了班级学号的数组,排序后更容易分区好学生和坏学生; 一个保存了商品单价的数组,排序后更容易看出它们的性价比。 对数组元素进行排序的方法有很多种,比如冒泡排序、归并排序、选择排序、插入排序、快速排序等,其中最经典最需要掌握的是「冒泡排序」。 以从小到大排序为例,冒泡排序的整体
我有下面的代码- 是包含int属性的类对象列表-参考号:即
在python中是否可以按给定的索引重新排序列表? 如果我有列表: 我想按第二个索引重新排序,使其具有如下内容:
问题内容: 我有一个清单。例如, 如果我想按内部列表的字符串字段对外部列表进行排序,那么你将如何在python中执行此操作? 问题答案: 这是itemgetter的工作 也可以在此处使用lambda函数,但是在这种简单情况下,lambda函数的运行速度较慢