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

标签 python dictionary

我正在寻找在 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}

这是为什么呢?我实际上对它进行了初始化,不是吗?

最佳答案

import string
keys = string.digits+string.ascii_lowercase
values = range(len(keys))
d = dict(zip(keys,values))

dicts 有无序键。要订购 key ,请使用 collections.OrderedDict . (此外,永远不要将变量命名为 dictlist 等,因为这会阻止您轻松访问同名的 Python 内置函数。内置函数是很有用,正如您在上面看到的那样。)

关于python - 初始化由字符和数字组成的字典的最优雅方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20140420/

相关文章:

json - 从具有未知结构 SWIFT 的 JSON 中查找值

Python 检查字典中是否定义了键

python - 在for循环Python中的if语句中将一个键的值分配给另一个键

python - Alembic 和枚举类型

python - 类型错误 : '_csv.reader' object has no attribute '__getitem__' ?

python - 找不到在命令行上运行的模块

python - 如何使用字典映射替换字符串中的单词

ios - Swift 自动创建临时字典

python - 如何将此 unicode 转换为字典?

python - 在 pandas read_sql 中可选择 SQLalchemy 的方法