我使用以下代码对字典进行排序:
meaningHash = {'Banana': 'fruit', 'apple': 'fruit'}
sortedMeaningHash = collections.OrderedDict(sorted(meaningHash.items()))
print sortedMeaningHash
结果是:
OrderedDict([('Banana', 'fruit'), ('apple', 'fruit')])
所需的输出是:
OrderedDict([('apple', 'fruit'), ('Banana', 'fruit')])
答案 0 :(得分:6)
您可以使用key
sorted
参数按小写字母排序:
def check_lower(pair):
key,value = pair
return (key.lower(),value)
meaningHash={'Banana':'fruit','apple':'fruit'}
sortedMeaningHash = collections.OrderedDict(sorted(meaningHash.items(),
key=check_lower))
print(sortedMeaningHash)
key
是一个可调用的,它返回每个项目应该排序的表示。所以它需要dict的每个元素的项目对,并在键上调用.lower()
。
答案 1 :(得分:4)
向sorted
电话添加密钥arg:
sortedMeaningHash = collections.OrderedDict(sorted(meaningHash.items(), key=lambda x: x[0].lower()))