我的 Streamlit 应用程序的侧边栏中有一个多选框。不失一般性:
我有 10 个选项可以放入这个多选框中(这些是数字 1...10)
用户不能同时选择1
两者2
因此,我想2
从可能的选择列表中删除 if 1
,但 Streamlit 似乎没有此功能,因此我尝试将其包装在循环中,这也失败了(DuplicateWidgetID: There are multiple identical st.multiselect widgets with the same generated key.
):
options = [1,2,3,4,5,6,7,8,9,10]
space = st.sidebar.empty()
answer, _answer = [], None
while True:
if answer != _answer:
answer.append(space.multiselectbox("Pick a number",
options,
default=answer
)
)
options = [o for o in options if o not in answer]
if 1 in options:
if 2 in options: options.remove(2)
if 2 in options:
if 1 in options: options.remove(1)
_answer = answer[:]
关于我如何实现这一目标有什么想法吗?
慕的地6264312
相关分类