把这本词典改写成李

2024-04-27 03:49:52 发布

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

我正在尝试从元组创建一个字典,但是PyCharm告诉我我的字典可以重写为字典文本。 我不知道怎么做。你知道吗

这是Python 2.7:

tb = traceback.extract_tb(ex_traceback)
my_stack = {'file': '', 'line': '', 'where': '', 'code': ''}
my_stack['file'], my_stack['line'], my_stack['where'], my_stack['code'] = tb[0]
print my_stack

Tags: 文本字典stackmylinecodeextractwhere
2条回答

(假设tb[0]是4元组或类似的)

尽管它不完全是一个dict文本,但下面的方法还是可行的:

my_stack = dict(zip(("file", "line", "where", "code"), tb[0]))

不过,我认为PyCharm的意思是,你可以这样做:

my_stack = {
    'file': tb[0][0],
    'line': tb[0][1],
    'where': tb[0][2],
    'code': tb[0][3],
}

假设tb[0]是一个四元组,那么代码的第三行就相当于。你知道吗

如果您希望所有内容都是相同的值,则可以改为链等于:

my_stack['file'] = my_stack['line'] = my_stack['where'] = my_stack['code'] = tb[0]

将光标放在给定的行上,点击Alt + Enter并选择Replace dictionary creation以查看结果:

tb = traceback.extract_tb(ex_traceback)
my_stack = {'file': tb[0][0], 'line': tb[0][1], 'where': tb[0][2], 'code': tb[0][3]}
print my_stack

相关问题 更多 >