【发布时间】:2014-07-17 13:29:28
【问题描述】:
我对 Python 的字典或集合有疑问。
有没有您可以使用的预定义 集或字典?我想为与数字相关的字母设置一个集合或字典,如下所示:
{A:1, B:2, C:3,.....}
是否已经有内置解决方案,或者我必须手动实现它?如果有,我在哪里可以找到它们的概述?我已经搜索了很长时间,但没有得到任何结果,但我很确定我以前见过这个。
【问题讨论】:
标签: python dictionary set
我对 Python 的字典或集合有疑问。
有没有您可以使用的预定义 集或字典?我想为与数字相关的字母设置一个集合或字典,如下所示:
{A:1, B:2, C:3,.....}
是否已经有内置解决方案,或者我必须手动实现它?如果有,我在哪里可以找到它们的概述?我已经搜索了很长时间,但没有得到任何结果,但我很确定我以前见过这个。
【问题讨论】:
标签: python dictionary set
不,标准库中没有这样的预定义集合或字典。它们的使用太有限了,每种算法都需要不同的映射。
为您的代码生成它们也很简单:
import string
{s: i for i, s in enumerate(string.ascii_uppercase, 1)}
【讨论】:
调查string 模块中的常量,例如ascii_letters、digits、printable 等。然后您可以使用内置的set() 和/或dict() 函数(或理解)来生成正是你需要的。
【讨论】:
import string
print dict(zip(string.ascii_uppercase,xrange(1,26)))
print set(zip(string.ascii_uppercase,xrange(1,26)))
【讨论】: