9

Haskell 可以:

['a'..'z']

在 Python 中:

map(chr, range(97, 123))

我觉得 Python 有点冗长。Python 有另一种像 Haskell 一样简单的方法吗?

4

5 回答 5

13

是的。from string import ascii_lowercase.

于 2012-08-20T03:42:51.947 回答
6
from string import ascii_lowercase
L = list(ascii_lowercase)
于 2012-08-20T03:51:34.617 回答
6

无需导入任何内容的可读性稍强的版本

alphabet = [chr(i) for i in range(ord('a'), ord('z') + 1)]
于 2012-08-20T06:17:40.377 回答
1

没有通用的方法,因为[a..b]haskell 中的语法使用特殊的类型类Enum,但在 python 中没有特殊的魔法方法或特殊的枚举语法。

于 2012-08-20T04:00:59.347 回答
0

由于您希望将其作为列表,因此您可以执行以下操作:

from string import ascii_lowercase
l = [i for i in ascii_lowercase]
于 2012-08-20T03:50:17.373 回答