使用pprint排序dict时忽略大小写?

2024-06-26 14:33:40 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一本字典,说:

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}

我必须使用预打印模块吗?是否存在隐藏的pprint参数?还是完全有别的解决办法?我的dict键并不比这复杂。谢谢。你知道吗


Tags: 模块参数字典顺序treesdictmydictpprint
1条回答
网友
1楼 · 发布于 2024-06-26 14:33:40

没有导入,简单版本:

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

相关问题 更多 >