2024-05-08 14:57:49 发布
网友
我有一个元组,它包含一些随机单词,比如
words = ("Apple","Charlie","Papa","Uniform","Tango","Echo","Romeo")
我想把这些整理成字典
我知道我需要初始化字典并创建for循环来查看元组,但我不知道如何按字母排序。在
对于你提到的案例,很简单:
d = {} for word in words: d[word[0]] = word
当然,一般的注意事项也适用(dict没有被排序,因此不涉及过滤,如果"Adam"和{}都在输入中,只有第二个将进入输出,等等)。为了解决后一个问题,您可能需要考虑一个collections.defaultdict:
"Adam"
collections.defaultdict
这将给您留下映射到列表的字符的dict。而且,一旦你有了这个,如果你真的想让它按键“排序”,你可以用collections.OrderedDict在这之后:
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'}
它不会被订购,但是如果你需要的话,把它通过
对于你提到的案例,很简单:
当然,一般的注意事项也适用(dict没有被排序,因此不涉及过滤,如果}都在输入中,只有第二个将进入输出,等等)。为了解决后一个问题,您可能需要考虑一个
^{pr2}$"Adam"
和{collections.defaultdict
:这将给您留下映射到列表的字符的dict。而且,一旦你有了这个,如果你真的想让它按键“排序”,你可以用
collections.OrderedDict
在这之后:你可以用听写理解。在
它不会被订购,但是如果你需要的话,把它通过
^{pr2}$相关问题 更多 >
编程相关推荐