Как создать словарь с пробелами, кавычками, точками, двойными кавычками и т. д.

Я видел этот вопрос здесь aDict, который включает в себя алфавит, но как я могу включить пробел, кавычки, точки, двойные кавычки?

Как создать словарь с буквы как ключи в сжатой форме?

как сюда можно включить пробел, кавычки, точки, двойные кавычки? Благодарность

import string
aDict = dict(zip(string.ascii_lowercase, range(1, 27)))

person Manual    schedule 17.02.2013    source источник
comment
Итак, вам нужны все знаки препинания или только те, которые вы указали?   -  person Volatility    schedule 17.02.2013
comment
Что они будут отображать? В вашем примере буквы сопоставляются с 1-26, как бы вы хотели отобразить пунктуацию?   -  person Amber    schedule 17.02.2013
comment
на основе этого ответа: {x:i for i,x in enumerate(string.ascii_lowercase+"whatever")}   -  person georg    schedule 17.02.2013
comment
Я также хочу включить все знаки препинания, а именно алфавит и пробел, кавычки, точки, двойные кавычки .. спасибо   -  person Manual    schedule 17.02.2013


Ответы (2)


Таким образом, вы можете создать dict с символами ascii в качестве ключей и соответствующими числами в качестве значений:

aDict = { chr(x):x for x in range(129) }
person Community    schedule 17.02.2013
comment
Мне это нравится... но 127 - это последний символ ascii, а не 128. - person tdelaney; 17.02.2013

Вы можете получить все видимые символы, начиная с символа пробела и заканчивая (но не включая) символом \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)}
person pyrospade    schedule 17.02.2013