Python:如何删除字典中的所有非字母数字键

2024-10-05 14:25:35 发布

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

我制作了一个字典,它统计一个符号在文本文件中出现的次数。但是,我想排除所有非字母数字键(我想保留所有字母键,大写和小写)。你知道吗

如何编写函数来执行此操作?

最后我想把新字典按字母顺序排序。你知道吗

即从{' ': 4, 'e': 2, 'a': 1}{'a': 1,'e': 2}


Tags: 函数字典排序顺序字母符号次数小写
2条回答

如果要保持字典中的特定顺序,则需要OrderedDict

from collections import OrderedDict
d = {' ': 4, 'e': 2, 'a': 1} 
od = OrderedDict(sorted((k,v) for k,v in d.items() if k.isalpha()))

print(od)
OrderedDict([('a', 1), ('e', 2)])

你可以用字典来理解。你知道吗

a = {' ': 4, 'e': 2, 'a': 1}
a = { key:val for key,val in a.iteritems() if key.isalnum() }
print a

输出:

{'a': 1, 'e': 2}

I want to have the new dictionary sorted in alphabetical order.

对于这一部分,字典没有顺序,所以不能对它们进行排序。您可以做的是通过dict.iteritems()生成元组,然后根据键或值对它们进行排序。你知道吗

相关问题 更多 >