从2个列表生成字典时出错

2024-09-30 03:26:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些需要字符串输入的代码, 使用字典将其转换为整数列表 然后根据该列表和字母表列表生成一个dict (我想用字母表作为键)

alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','p','q','r',
            's','t','u','v','w','x','y','z',' ','.','-','-',',','!','?']

def gen_dict() :
    key_dict = {'a':'00', 'b':'01', 'c':'02', 'd':'03', 'e':'04', 'f':'05',
                'g':'06', 'h':'07', 'i':'08', 'j':'09', 'k':'10', 'l':'11',
                'm':'12', 'n':'13', 'o':'14', 'p':'15', 'q':'16', 'r':'17',
                's':'18', 't':'19', 'u':'20', 'v':'21', 'w':'22', 'x':'23',
                'y':'24', 'z':'25', ' ':'26', '.':'27', '-':'28', ',':'29',
                '!':'30', '?':'31'}
    print(key_dict)
    p= 0
    key = key.lower()
    for character in key:
        keyint.append(key_dict[message[p]])
        p += 1
    letter-num_dict = {k:v for k,v in zip(alphabet,keyint)}
    print(letter-num_dict)  
key = input()
gen_dict()

但这个程序甚至不能运行, 相反,它会给出错误消息:

letter-num_dict = {k:v for k,v in zip(alphabet,keyint)} ^ SyntaxError: can't assign to operator

我找不到任何其他在线获取此错误信息类似的原因,所以任何帮助是感谢


Tags: key字符串代码in列表forzipnum
2条回答

变量名中不能使用连字符

letter-num_dict更改为letter_num_dict(或等效值)

变量名称中不能有破折号(-),因为Python将其解释为减去运算符。改为下划线:letter_num_dict

相关问题 更多 >

    热门问题