我在这里看到这个问题aDict包含字母表,但我怎样才能包含空格,引号,点,双引号以及?如何用空格,引号,点,双引号等来创建一个字典
How to create a dict with letters as keys in a concise way?
怎么能包括空间,报价点,双引号,以及在这里?感谢
import string
aDict = dict(zip(string.ascii_lowercase, range(1, 27)))
我在这里看到这个问题aDict包含字母表,但我怎样才能包含空格,引号,点,双引号以及?如何用空格,引号,点,双引号等来创建一个字典
How to create a dict with letters as keys in a concise way?
怎么能包括空间,报价点,双引号,以及在这里?感谢
import string
aDict = dict(zip(string.ascii_lowercase, range(1, 27)))
这样,您就可以创建ASCII字符作为键和相应数量的字典作为值:
aDict = { chr(x):x for x in range(129) }
我喜欢那个......但是127是最后一个ascii字符,而不是128. – tdelaney 2013-02-17 05:05:57
您可以用空格字符开始,直至得到所有可见的字符(但不包括)\x7f
字符。
{v: k for k, v in enumerate((chr(x) for x in range(ord(' '), ord('\x7f'))), 1)}
如果你想包括\t
,\n
和\r
你可以把它们连。
import itertools
{v: k for k, v in
enumerate(itertools.chain(('\t', '\n', '\r'),
(chr(x) for x in range(ord(' '), ord('\x7f')))),
1)}
切换到手机上的桌面视图,应该可以工作。 – pyrospade 2013-02-17 01:39:35
所以你想要所有的标点符号,或者只是你指定的那个? – Volatility 2013-02-17 00:15:37
他们会映射到什么地方?你的例子将这些字母映射到1-26,你会如何映射标点符号? – Amber 2013-02-17 00:16:33
基于[这个答案](http://stackoverflow.com/a/14902939/989121):'{x:我为i,x在枚举(string.ascii_lowercase +“whatever”)}' – georg 2013-02-17 00:18:16