我创建了26个字母的字典,如下所示:
aDict={
"a": 1,
"b": 2,
"c": 3,
"d": 4,
etc...
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使我的代码更好,我的问题是,有没有更短的方法来做到这一点而不输入所有这些数字?
Ash*_*ary 18
你可以string.ascii_lowercase在这里使用和dict理解.
In [4]: from string import ascii_lowercase as al
Run Code Online (Sandbox Code Playgroud)
对于Python 2.7+:
In [5]: dic = {x:i for i, x in enumerate(al, 1)}
Run Code Online (Sandbox Code Playgroud)
对于Python 2.6或更早版本:
In [7]: dic = dict((y, x) for x, y in enumerate(al, 1))
Run Code Online (Sandbox Code Playgroud)
aDict = dict(zip('abcdefghijklmnopqrstuvwxyz', range(1, 27)))
Run Code Online (Sandbox Code Playgroud)
或者不是硬编码字母表:
import string
aDict = dict(zip(string.ascii_lowercase, range(1, 27)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8361 次 |
| 最近记录: |