当前位置: 首页 > 知识库问答 >
问题:

基于第三个参数[duplicate]的元组排序列表

卫才哲
2023-03-14

我的清单和我认为是正确的方法

import operator

my_list = [('green', 'Josef', 22), ('red', 'Marin', 25), ('black', 'Ostoja', 10), ('white', 'Drazen', 11),('purple','Mike',9)]
print (type(my_list))
cpsorted = my_list.sort(key=operator.itemgetter(2))
print (cpsorted)

但我得到的

<class 'list'>
None

为什么?

共有2个答案

融焕
2023-03-14

list.sort对列表进行排序。检查my_list:

>>> my_list
[('purple', 'Mike', 9), ('black', 'Ostoja', 10), ('white', 'Drazen', 11), ('green', 'Josef', 22), ('red', 'Marin', 25)]
>>> help(list.sort)
...
    L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
柴寂离
2023-03-14

如果不想对列表进行排序,可以使用sorted。此外,您可以只对键使用lambda-不需要导入任何东西。

my_list = [('green', 'Josef', 22), ('red', 'Marin', 25), ('black', 'Ostoja', 10), ('white', 'Drazen', 11),('purple','Mike',9)]
print (type(my_list))
cpsorted = sorted(my_list, key=lambda tup: tup[2])
print (cpsorted)
 类似资料:
  • 问题内容: 我有一个像这样的数组: 我想基于第二元素按降序对其进行排序。理想的输出为: 问题答案: ,接受可选参数。函数用于生成比较密钥。

  • 我有一个超过200列的。问题在于订单生成时的状态 我需要按如下方式重新排列这些列: 在Python中有什么方法可以做到这一点吗?

  • 问题内容: 我需要将列表排序为: 我已经使用了该函数,并且能够根据值进行排序…但是我无法按字母顺序进行排序,因为我需要按照数字的降序和字母的升序对列表进行排序数字具有相同的值。 问题答案: 使用元组作为浮点数为负的排序键可以反转顺序: 如果您不能进行求反(例如对字符串或字母值或非数字值),则可以利用Python sort函数稳定的事实,并分两步进行排序:

  • 我必须融合之前排序的2个数组,我必须为学校做这件事,但我可以有人可以帮助我,因为现在我要求数组的维度,我实例化了数组,然后我做了一个for来填充它们,我添加了数组的排序,我将把我的代码粘贴到这里。(评论是意大利语)我知道对一些人来说这可能是一个愚蠢的问题,但是,我在编程的第一年,我想提高自己。我提前感谢帮助我的人

  • 有没有更时髦的方法来解决这个问题?

  • 我有2个java数组 如果我按升序对int数组排序,它将是: 现在我想相应地对名称数组进行排序。输出应为: 我该如何维持一段关系?我见过这个链接(基于其他排序的数组排序数组),但它是针对js的