使用exec内置函数

时间:2016-08-21 02:37:52

标签: python-3.x

我有一个名为alphabet的变量,它是所有字母表的字符串。意思是字母=" abcdefghij ...."我想在一个循环中使用exec内置函数,该循环将创建一个以每个字母表命名的变量,其值与位置相对应。例如a = 1; b = 2;我怎么用Python做到这一点?

1 个答案:

答案 0 :(得分:0)

您使用dict

>>> import string
>>> {l:i for i, l in enumerate(string.ascii_lowercase, start=1)}
{'y': 25, 'k': 11, 'c': 3, 's': 19, 'g': 7, 'o': 15, 'b': 2, 'm': 13, 'x': 24, 'd': 4, 'a': 1, 'r': 18, 'l': 12, 'u': 21, 'q': 17, 'w': 23, 'f': 6, 'n': 14, 'h': 8, 'e': 5, 'j': 10, 'v': 22, 'z': 26, 't': 20, 'p': 16, 'i': 9}

订购是另一回事:

>>> d={l:i for i, l in enumerate(string.ascii_lowercase, start=1)}
>>> [(l,i) for l, i in sorted(d.items())]
[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5), ('f', 6), ('g', 7), ('h', 8), ('i', 9), ('j', 10), ('k', 11), ('l', 12), ('m', 13), ('n', 14), ('o', 15), ('p', 16), ('q', 17), ('r', 18), ('s', 19), ('t', 20), ('u', 21), ('v', 22), ('w', 23), ('x', 24), ('y', 25), ('z', 26)]