初始化由字符和数字组成的字典最优雅的方法是什么

2024-04-19 06:35:43 发布

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

我想用python创建一个字典 它的键是字符“0”到“9”,之后是从“a”到“z”的键, 他们的ID应该是0到36之间的计数器

像这样: dict = {'0':0, '1':1, '2':2, ....., '9':9, 'a':10, .... , 'x':33, 'y':34, 'z':35}

我设法写了这个

dict = {}

for i in range(10):
    dict[str(i)] = i

ord_a = ord('a')

for i in range(0,26):
    dict[chr(ord_a + i)] = i+10

你能帮我找到一个更好的实施方法吗?你知道吗

还有一件事,print(dict)返回一个未排序的对象:

{'d': 13, 'e': 14, 'f': 15, 'g': 16, 'r': 27, 'a': 10, 'b': 11, 
'c': 12, 'l': 21, 'm': 22, 'n': 23, 'o': 24, 'h': 17, 'i': 18, 
'j': 19, 'k': 20, '4': 4, '5': 5, '6': 6, '7': 7, '0': 0, '1': 1, 
'2': 2, '3': 3, '8': 8, '9': 9, 'z': 35, 't': 29, 'u': 30, 
'x': 33, 'v': 31, 'y': 34, 'w': 32, 's': 28, 'p': 25, 'q': 26}

为什么?我把它分类了,不是吗?你知道吗


Tags: 方法inidfor字典排序计数器range
1条回答
网友
1楼 · 发布于 2024-04-19 06:35:43
import string
keys = string.digits+string.ascii_lowercase
values = range(len(keys))
d = dict(zip(keys,values))

dicts具有无序键。要获得有序键,请使用collections.OrderedDict。(另外,不要将变量命名为dictlist等,因为这会阻止您轻松访问同名的Python内置函数。正如您在上面所看到的那样,内置功能非常有用。)

相关问题 更多 >