从变量创建字典键和值,给出语法错误

时间:2016-04-13 10:31:47

标签: python

我试图通过提供变量的键和值来创建字典, 但我得到语法错误:

disk_to_dm_dict = {}

for line in dm_name:
    match =  re.search(lun_reg,line)
    if match:
        lun=match.group(6)
        dm=match.group(8)
        print lun
        print dm
        #Create Dictionary with key= LUN and Value=dm
        disk_to_dm_dict['%s']%lun = dm

但我收到错误

 File "read_lun.py", line 42
    disk_to_dm_dict["%s"]%lun = dm
SyntaxError: can't assign to operator

4 个答案:

答案 0 :(得分:1)

您需要将%运算符应用于字符串,而不是disk_to_dm_dict["%s"]的结果。 Python抱怨你试图在这里分配something % something_else的结果。

将操作符移到 [...]括号内以应用于"%s"字符串:

disk_to_dm_dict["%s" % lun] = dm

答案 1 :(得分:0)

你在最后一行有一个实际的语法错误,这里是固定的变体:

disk_to_dm_dict['%s' % lun] = dm

答案 2 :(得分:0)

lun已经是一个字符串,这意味着密钥是所需的格式。你可以这样做:

disk_to_dm_dict[lun] = dm

要直接修复您的代码,请尝试:

disk_to_dm_dict['%s' % lun] = dm

即移动% lun与格式字符串相邻。

答案 3 :(得分:0)

尝试使用以下代码段

将key:value对添加到字典中
disk_to_dm_dict[lun] = dm

简单!