如何在Dash输出中删除[]和''?

时间:2019-09-09 09:11:39

标签: python plotly-dash hyphen

我希望输出没有[]和没有''。 如果未选择任何内容,则不显示任何内容。如果选择了“某些”选项,则仅显示文本,而不显示。

import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output, State
import time

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)



app.layout = html.Div(children=[


    dcc.Checklist(id='my-checklist1',
    options=[
        {'label': 'New York City', 'value': 'NYC'},
        {'label': 'Montréal', 'value': 'MTL'},
        {'label': 'San Francisco', 'value': 'SF'}
    ],
    value=[]
    ),
    html.Div(id='my-div-checklist1'),
    html.Hr(),



    dcc.Checklist(id='my-checklist2',
    options=[
        {'label': 'New York City', 'value': 'NYC'},
        {'label': 'Montréal', 'value': 'MTL'},
        {'label': 'San Francisco', 'value': 'SF'}
    ],
    value=[],
    labelStyle={'display': 'inline-block'}
    ),
    html.Div(id='my-div-checklist2'),
    html.Hr(),


])



@app.callback(Output('my-div-checklist1', 'children'),
              [Input('my-checklist1', 'value'),
              Input('my-checklist2', 'value')
              ])

def prepare_data(categ1, categ2):
        return html.Div([dcc.Markdown(
                         '''{}, {}'''.format(categ1, categ2))])



if __name__ == '__main__':
    app.run_server(debug=True)

当前与预期:

立即开始:[], [] 我想要的是:``

现在选择后:'NYC', 'SF' 我想要的是:NYC SF

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

一种方法是

def prepare_data(categ1, categ2):
        return html.Div([dcc.Markdown(str(" ".join(categ1 )) + " " + str(" ".join(categ2)))])