在Python 3中值为None或空字符串时进行反向排序

sme

跟进这个问题:当值是None或空字符串python时进行排序我正在Python 3中寻找一个可以正常工作的解决方案。

在Python 2.7.6中,我可以成功执行以下操作:

> list_with_none = [(1,"foo"), (2,"bar"), (3,""), (4,None), (5,"blub")]
> col = 1
> sorted(list_with_none, key=lambda k: (k[col] is None, k[col] == "", k[col]))
[(2, 'bar'), (5, 'blub'), (1, 'foo'), (3, ''), (4, None)]
> sorted(list_with_none, key=lambda k: (k[col], k[col] is None, k[col] == ""), reverse=True)
[(1, 'foo'), (5, 'blub'), (2, 'bar'), (3, ''), (4, None)]

在Python 3.4.3中,我找不到反向排序的有效解决方案,该解决方案将空字符串和None值放在列表的末尾(这是我明确需要的):

> list_with_none = [(1,"foo"), (2,"bar"), (3,""), (4,None), (5,"blub")]
> col = 1
> sorted(list_with_none, key=lambda k: (k[col] is None, k[col] == "", k[col])) 
[(2, 'bar'), (5, 'blub'), (1, 'foo'), (3, ''), (4, None)]
> sorted(list_with_none, key=lambda k: (k[col], k[col] is None, k[col] == ""), reverse=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: NoneType() < str()
奥尔普

通过时reverse=True,反转检查None和空字符串:

sorted(list_with_none, key=lambda k: (k[col] is not None, k[col] != "", k[col]), reverse=True) 

这适用于Python 2和Python 3。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么设计为str(None)的python返回'None'而不是空字符串?

来自分类Dev

python 3空字符串错误

来自分类Dev

在Python中对字符串的字符进行排序

来自分类Dev

在Python中对字符串的字符进行排序

来自分类Dev

python中的空字符串?

来自分类Dev

python中的空字符串?

来自分类Dev

对具有字母数字值的字符串数组进行排序(Python3)

来自分类Dev

根据Python中的自定义字母对字符串值进行排序

来自分类Dev

Python-在包含字符串和数字的列表中对数字值进行排序

来自分类Dev

在Pyspark和Python中对具有多个值的字符串进行排序

来自分类Dev

如何在Python中从具有多个字符串的数组中获取中值字符串值?

来自分类Dev

在sqlite3中按功能分组,在python中按itertools.groupy分组,对字符串中的中间值进行排序和分组

来自分类Dev

如何检查单词中的空字符串是否在python中评估为true?

来自分类Dev

如何检查单词中的空字符串是否在python中评估为true?

来自分类Dev

Python-将空字符串设置为0

来自分类Dev

Python:空字符串计算为“ false”

来自分类Dev

Python根据列表中字符串的出现次数对字符串进行排序

来自分类Dev

python将列表中的空字符串设置为null

来自分类Dev

如何通过使用python3组合字符串来对.csv文件值进行排序

来自分类Dev

Python:考虑字符串而不是字符的字典中的反向键和值

来自分类Dev

从python中的列表中删除空字符串

来自分类Dev

如何将嵌套列表字符串转换为整数,然后在python 3中对其进行排序?

来自分类Dev

Python:按键对列表进行排序会返回错误:“字符串必须为整数”

来自分类Dev

Python itemgetter根据值字符串的中间对dict进行排序

来自分类Dev

Python:如何对字符串中的字母进行排序以使某些字符保持原状?

来自分类Dev

Python中的反向字符串函数(原始步骤)

来自分类Dev

Python解析空字符串

来自分类Dev

Python分割空字符串

来自分类Dev

Scrapy/Python:替换空字符串

Related 相关文章

  1. 1

    为什么设计为str(None)的python返回'None'而不是空字符串?

  2. 2

    python 3空字符串错误

  3. 3

    在Python中对字符串的字符进行排序

  4. 4

    在Python中对字符串的字符进行排序

  5. 5

    python中的空字符串?

  6. 6

    python中的空字符串?

  7. 7

    对具有字母数字值的字符串数组进行排序(Python3)

  8. 8

    根据Python中的自定义字母对字符串值进行排序

  9. 9

    Python-在包含字符串和数字的列表中对数字值进行排序

  10. 10

    在Pyspark和Python中对具有多个值的字符串进行排序

  11. 11

    如何在Python中从具有多个字符串的数组中获取中值字符串值?

  12. 12

    在sqlite3中按功能分组,在python中按itertools.groupy分组,对字符串中的中间值进行排序和分组

  13. 13

    如何检查单词中的空字符串是否在python中评估为true?

  14. 14

    如何检查单词中的空字符串是否在python中评估为true?

  15. 15

    Python-将空字符串设置为0

  16. 16

    Python:空字符串计算为“ false”

  17. 17

    Python根据列表中字符串的出现次数对字符串进行排序

  18. 18

    python将列表中的空字符串设置为null

  19. 19

    如何通过使用python3组合字符串来对.csv文件值进行排序

  20. 20

    Python:考虑字符串而不是字符的字典中的反向键和值

  21. 21

    从python中的列表中删除空字符串

  22. 22

    如何将嵌套列表字符串转换为整数,然后在python 3中对其进行排序?

  23. 23

    Python:按键对列表进行排序会返回错误:“字符串必须为整数”

  24. 24

    Python itemgetter根据值字符串的中间对dict进行排序

  25. 25

    Python:如何对字符串中的字母进行排序以使某些字符保持原状?

  26. 26

    Python中的反向字符串函数(原始步骤)

  27. 27

    Python解析空字符串

  28. 28

    Python分割空字符串

  29. 29

    Scrapy/Python:替换空字符串

热门标签

归档