当前位置: 首页 > 面试题库 >

在python中按特定顺序对元素进行排序

邢起运
2023-03-14
问题内容

如何按自定义顺序排序?

输入:

[
    {value: "typeA"},
    {value: "typeC"},
    {value: "typeB"},
    {value: "typeC"},
    {value: "typeB"},
    {value: "typeA"}
]

预期结果:

[
    {value: "typeB"},
    {value: "typeB"},
    {value: "typeC"},
    {value: "typeC"},
    {value: "typeA"},
    {value: "typeA"}
]

my_own_order = ['typeB', 'typeC', 'typeA']

我的python代码现在如下:

result = sorted(input, key=lambda v:v['value'])

问题答案:
>>> lst = [
...     {'value': "typeA"},
...     {'value': "typeC"},
...     {'value': "typeB"},
...     {'value': "typeC"},
...     {'value': "typeB"},
...     {'value': "typeA"}
... ]
>>> my_own_order = ['typeB', 'typeC', 'typeA']

使之间的映射typeBtypeCtypeA0,1,2

>>> order = {key: i for i, key in enumerate(my_own_order)}
>>> order
{'typeA': 2, 'typeC': 1, 'typeB': 0}

并将映射用于排序键:

>>> sorted(lst, key=lambda d: order[d['value']])
[{'value': 'typeB'},
 {'value': 'typeB'},
 {'value': 'typeC'},
 {'value': 'typeC'},
 {'value': 'typeA'},
 {'value': 'typeA'}]


 类似资料:
  • 本文向大家介绍在Python中按字典顺序对单词进行排序,包括了在Python中按字典顺序对单词进行排序的使用技巧和注意事项,需要的朋友参考一下 按字典顺序对单词进行排序意味着我们要首先按单词的第一个字母排列它们。然后,对于第一个字母相同的单词,我们将它们按第二个字母排列在该组中,依此类推,就像在语言的词典中一样(不是数据结构)。 Python有2个函数,按照这种类型的顺序进行排序和排序,让我们看看

  • 问题内容: 我正在尝试按字母顺序了解元素内的排序元素。理想情况下,我想将此作为一个单独的函数,在这里我可以只传递select元素,因为在用户单击某些按钮时需要对它进行排序。 我在高低处搜寻了一种执行此操作的好方法,但找不到任何对我有用的方法。 选项元素应按文本而不是值按字母顺序排序。 这有可能吗? 问题答案: 我要做的是: 将每个文本和值提取到对象数组中; 对数组进行排序; 按顺序使用数组内容更新

  • 在一个<代码>中

  • 问题内容: 我有一个对象数组,这些对象的属性称为“ CODE”。 如何通过自定义顺序对数组进行排序,例如: 尝试各种方法均未成功。请帮忙。 问题答案: 您可以将函数与函数一起使用。

  • 因此,我有一个,下面的字符串作为元素: null null