将字母范围扩展为Python中的字符列表

Mat*_*ain 6 python string character alphabet alphabetical

我有按字母顺序描述一系列字符的字符串,由两个用连字符分隔的字符组成.我想将它们扩展为一个单独的字符列表,如下所示:

'a-d' -> ['a','b','c','d']
'B-F' -> ['B','C','D','E','F']
Run Code Online (Sandbox Code Playgroud)

在Python中执行此操作的最佳方法是什么?

NPE*_*NPE 11

In [19]: s = 'B-F'

In [20]: list(map(chr, range(ord(s[0]), ord(s[-1]) + 1)))
Out[20]: ['B', 'C', 'D', 'E', 'F']
Run Code Online (Sandbox Code Playgroud)

诀窍是将两个字符转换为ASCII码,然后使用range().

PS因为您需要一个列表,所以list(map(...))可以用列表推导替换该构造.