使用pprint订购dict时忽略大写?

Ignore capitalization when ordering dict using pprint?

所以我有一本字典,说:

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 参数?还是完全有另一种解决方案?我的字典键没有比这更复杂的了。谢谢。

没有导入,简单版本:

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('}')