Python:基于无类型的第一个对两个列表进行排序

Avairhn

所以我有两个清单:

keys   = ['Z', 'X', None, None]
values = [ 0 ,  1 , None, None]

我需要能够获取这两个列表,并根据键值对它们进行排序,然后将其返回给自己。理想情况下,输出为:

keys   = ['X', 'Z', None, None]
values = [ 1 ,  0 , None, None]

我在这里尝试的是:

self.keys, self.values = (list(x) for x in zip(*sorted(zip(self.keys, 
                          self.values), key=lambda pair: pair[0])))

这很有效,除了它给了我以下错误:

TypeError: unorderable types: NoneType() < str()

如何使用此方法对None进行排序?有比我正在尝试的更好的方法吗?

丹妮德

只需为您的密钥添加一个条件 sorted

keys, values = (list(x) for x in zip(*sorted(zip(keys, values), key=lambda pair: pair[0] if pair[0] is not None else 'temp')))

这样做会将“ temp”映射到列表中的任何“无”值,并且按照比较顺序将“ temp”排序为大于“ X”。大写字母小于小写字母

>>> 'temp' < 'X'
False

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据第三个元素对列表进行排序,并返回两个第一个元素

来自分类Dev

对两个数组进行排序,以便第二个数组排序基于第一个

来自分类Dev

Python:基于第一个元素对数组中的元组进行排序

来自分类Dev

如何在Python中匹配两个不同列表的第一个元素

来自分类Dev

尝试对两个字段进行排序,然后是第二个,然后是第一个

来自分类Dev

numpy-按第一个数组的单轴对两个ndarray进行排序

来自分类Dev

Python:如何按最常见的第一个元素对列表进行排序?

来自分类Dev

获取一个基于列表的第一个元素进行乘法或求和的函数

来自分类Dev

按键对列表进行排序并以与第一个相同的方式对另一个列表进行排序?

来自分类Dev

如何基于第一个下拉列表选择获取动态生成的两个下拉列表的第二个下拉列表的ID?

来自分类Dev

两个从属数组,需要按第一个的元素排序

来自分类Dev

共同的第一个字段比较两个排序的文件

来自分类Dev

如何使用第一个列表的相应元素制作两个不同的列表?

来自分类Dev

基于第一个元素在列表列表中对列表进行分组

来自分类Dev

按内部列表的第一个元素对列表列表进行排序(Java或groovy)

来自分类Dev

使用第一个文件中的搜索短语在两个文件之间进行搜索和替换:Python

来自分类Dev

Python:如何按最常见的第一个元素对列表列表进行排序?

来自分类Dev

如何对基于数组的文档进行排序并仅返回结果的第一个元素

来自分类Dev

C#通过一个属性比较两个列表并更改第一个列表的值

来自分类Dev

Python 3.x-根据另一个列表对一个列表进行排序,然后返回两个排序后的列表

来自分类Dev

比较两个列表并在条件满足后获得第一个值

来自分类Dev

根据两个键进行排序,第一个按降序排列,第二个按升序排列

来自分类Dev

RegEx:基于第一个两个字符查找匹配项

来自分类Dev

排序时读取两个数字而不是第一个整数

来自分类Dev

合并两个数组,第一个基于值,第二个基于键-php

来自分类Dev

基于两个值和一个条件的jQuery排序列表

来自分类Dev

尝试从列表中获取除第一个或最后两个元素之外的任何内容时,Python 给我一个错误

来自分类Dev

根据第一个索引值对二维列表进行排序

来自分类Dev

如何按元组中的第一个元素对元组列表进行排序?

Related 相关文章

  1. 1

    根据第三个元素对列表进行排序,并返回两个第一个元素

  2. 2

    对两个数组进行排序,以便第二个数组排序基于第一个

  3. 3

    Python:基于第一个元素对数组中的元组进行排序

  4. 4

    如何在Python中匹配两个不同列表的第一个元素

  5. 5

    尝试对两个字段进行排序,然后是第二个,然后是第一个

  6. 6

    numpy-按第一个数组的单轴对两个ndarray进行排序

  7. 7

    Python:如何按最常见的第一个元素对列表进行排序?

  8. 8

    获取一个基于列表的第一个元素进行乘法或求和的函数

  9. 9

    按键对列表进行排序并以与第一个相同的方式对另一个列表进行排序?

  10. 10

    如何基于第一个下拉列表选择获取动态生成的两个下拉列表的第二个下拉列表的ID?

  11. 11

    两个从属数组,需要按第一个的元素排序

  12. 12

    共同的第一个字段比较两个排序的文件

  13. 13

    如何使用第一个列表的相应元素制作两个不同的列表?

  14. 14

    基于第一个元素在列表列表中对列表进行分组

  15. 15

    按内部列表的第一个元素对列表列表进行排序(Java或groovy)

  16. 16

    使用第一个文件中的搜索短语在两个文件之间进行搜索和替换:Python

  17. 17

    Python:如何按最常见的第一个元素对列表列表进行排序?

  18. 18

    如何对基于数组的文档进行排序并仅返回结果的第一个元素

  19. 19

    C#通过一个属性比较两个列表并更改第一个列表的值

  20. 20

    Python 3.x-根据另一个列表对一个列表进行排序,然后返回两个排序后的列表

  21. 21

    比较两个列表并在条件满足后获得第一个值

  22. 22

    根据两个键进行排序,第一个按降序排列,第二个按升序排列

  23. 23

    RegEx:基于第一个两个字符查找匹配项

  24. 24

    排序时读取两个数字而不是第一个整数

  25. 25

    合并两个数组,第一个基于值,第二个基于键-php

  26. 26

    基于两个值和一个条件的jQuery排序列表

  27. 27

    尝试从列表中获取除第一个或最后两个元素之外的任何内容时,Python 给我一个错误

  28. 28

    根据第一个索引值对二维列表进行排序

  29. 29

    如何按元组中的第一个元素对元组列表进行排序?

热门标签

归档