Plotly dash 使用dict设置plotly Dash滑块标记会导致语法错误

Plotly dash 使用dict设置plotly Dash滑块标记会导致语法错误,plotly-dash,Plotly Dash,我正在基于plotly Dash构建仪表板。其中一个dcc是滑块。如果我想在滑块上显示在某个数字范围内的标记,那么这样做很好: dcc.Slider(min=-10, max=20, step=1, value=0, marks={i: str(i) for i in range(-10, 20)}) 但是Dash文档更喜欢使用dict表示法。但如果我这样做: dcc.Slider(min=-10, max=20, step=1, value=0, marks=dict(i = str(i)

我正在基于plotly Dash构建仪表板。其中一个dcc是滑块。如果我想在滑块上显示在某个数字范围内的标记,那么这样做很好:

dcc.Slider(min=-10, max=20, step=1, value=0, marks={i: str(i) for i in range(-10, 20)})
但是Dash文档更喜欢使用dict表示法。但如果我这样做:

dcc.Slider(min=-10, max=20, step=1, value=0, marks=dict(i = str(i) for i in range(-10,20)))
然后我收到一个语法错误

如何使用dict表示法实现此功能?

dict()
可以包含键值对列表。因此,您可以在dict符号中进行列表理解:

dcc.Slider(min=-10, max=20, step=1, value=0, marks=dict([(i,str(i)) for i in range(-10,20)]))

然而,我仍然更喜欢dict literal方式,只是为了更好的可读性和操作。

在创建
dict()之前强制转换为list是不必要的;你可以只
dict((i,str(i))来表示范围(-10,20))
Yes,我同意在这种情况下,文字符号看起来更干净。