我有一个字典,其中包含键和值的字符串。我需要按字符串排序,所以当我去dict.values()时,我得到了排序列表。复杂python字典按值排序
的字符串值是这样的:45_12_something_23
我需要数字作为数字和字符串作为字符串进行排序。给定的行保证是字符串或数字(不是混合)。
在python中做到这一点最好的方法是什么?性能不是问题。
我有一个字典,其中包含键和值的字符串。我需要按字符串排序,所以当我去dict.values()时,我得到了排序列表。复杂python字典按值排序
的字符串值是这样的:45_12_something_23
我需要数字作为数字和字符串作为字符串进行排序。给定的行保证是字符串或数字(不是混合)。
在python中做到这一点最好的方法是什么?性能不是问题。
将您的字典转换为(键,值)对列表。按照你的喜好排序它们。 (或者是你的问题 - 如何做?)然后插入排序(键,值)对collections.OrderedDict
,这将记住插入顺序和迭代时使用相同的顺序。
请注意,您不能修改dict
你已经有了,这将使新dict
你想要的属性。
是的,那是我一直在采取的方法 - 所以我现在有一个2维列表,我的字符串分解成另一个实际值列表。如何使用sorted()来正确分类这个新的2D列表? –
http://wiki.python.org/moin/HowTo/Sorting/ –
酷,所以我认为排序(列表,键= itemgetter(i))会给我什么我后。干杯基斯! –
词典没有订单... – Hamish
如果您想要一个排序的键列表:编写您自己的排序方法,将键分成几部分,将其归一化并将其作为可排序键提供。查看排序的()文档 –