gpt4 book ai didi

python - 字典排序时,是否有一个键总是排在最后?

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:30 25 4
gpt4 key购买 nike

我有一个有很多键的字典,我想添加一个虚拟键,当字典排序时,它应该总是排在最后。并且排序不区分大小写。我在考虑使用字典 'zyzzyva' 中的最后一个词。那行得通吗?如果我的 key 是目录路径,它们可以在其中包含/、. 等...

最佳答案

您可以创建一个在排序时始终排在最后的临时对象:

import functools

@functools.total_ordering
class Last(object):

def __eq__(self, other):
return False

def __lt__(self, other):
return False

这是一个用法示例:

>>> sorted([Last(), 'c', 'a', 'b'])
['a', 'b', 'c', <__main__.Last object at 0x7f8db518d2e8>]

如果您需要字符串形式的内容,请考虑使用 '\xff' .如果您所有的键都是字母数字(从某种意义上说,它们由字母 A-Z 和数字 0-9 组成),那么项目不可能大于 '\xff'。出现。

>>> sorted(['\xff', 'c', 'a', 'b'])
['a', 'b', 'c', 'ÿ']

但是请注意,在某些编码(包括 UTF-8)中,'\xff'使用字符。

如果您使用 Unicode 字符串(或使用 Python 3),则 u'\uffff'可能是 '\xff' 的一个很好的替代品.

关于python - 字典排序时,是否有一个键总是排在最后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29704997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com