创建一个以字母表中的字母为键的字典?

2024-05-08 14:57:49 发布

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

我有一个元组,它包含一些随机单词,比如

words = ("Apple","Charlie","Papa","Uniform","Tango","Echo","Romeo") 

我想把这些整理成字典

^{pr2}$

我知道我需要初始化字典并创建for循环来查看元组,但我不知道如何按字母排序。在


Tags: echoapplefor字典字母uniform单词整理
2条回答

对于你提到的案例,很简单:

d = {}
for word in words:
    d[word[0]] = word

当然,一般的注意事项也适用(dict没有被排序,因此不涉及过滤,如果"Adam"和{}都在输入中,只有第二个将进入输出,等等)。为了解决后一个问题,您可能需要考虑一个collections.defaultdict

^{pr2}$

这将给您留下映射到列表的字符的dict。而且,一旦你有了这个,如果你真的想让它按键“排序”,你可以用collections.OrderedDict在这之后:

odict = OrderedDict()
for key in sorted(d):  # d is the defaultdict from the last step.
    odict[key] = d[key]

你可以用听写理解。在

>>> words = ("Apple","Charlie","Papa","Uniform","Tango","Echo","Romeo")
>>> mydict = {value[0]: value for value in words}
>>> print(mydict)
{'A': 'Apple', 'C': 'Charlie', 'E': 'Echo', 'P': 'Papa', 'R': 'Romeo', 'U': 'Uniform', 'T': 'Tango'}

它不会被订购,但是如果你需要的话,把它通过

^{pr2}$

相关问题 更多 >

    热门问题