0

所以我有一本字典,说:

myDict = {"145":1, "Kittens":2, "apples":1, "trees":2}

并使用pprint(myDict, ...),我得到:

{'145': 1,
 'Kittens': 2,
 'apples': 1,
 'trees': 2}

相反,我想忽略大写 K 的明显顺序优先级并获得:

{'145': 1,
 'apples': 1,
 'Kittens': 2,
 'trees': 2}

我必须使用 PrettyPrinter 模块吗?是否存在隐藏的 pprint 论点?还是完全有另一种解决方案?我的 dict 键并不比这更复杂。谢谢。

4

1 回答 1

2

没有导入,简单版本:

def printdict(myDict):
    print('{')
    for a,b in sorted(myDict.items(),key = lambda tuple : tuple[0].lower()):
        print("'"+str(a)+"'"+" : "+str(b))
    print('}')

根据PM 2Ring改进的版本(这适用于任何事情):

def printdict(myDict):
    print('{')
    for a,b in sorted(myDict.items(),key = lambda t : t[0].lower()):
        print(' {!r}: {!r},'.format(a, b))
    print('}')
于 2017-07-21T20:03:46.673 回答