Как да създадете dict с интервал, кавички, точки, двойни кавички и др

Видях този въпрос тук aDict, който включва азбука, но как мога да включа и интервал, кавички, точки, двойни кавички?

Как да създадете dict с букви като ключове по кратък начин?

как мога да включа интервал, кавички, точки, двойни кавички също тук? Благодаря

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