gpt4 book ai didi

python - ipywidgets 动态创建复选框和选择数据

转载 作者:行者123 更新时间:2023-12-01 07:30:35 25 4
gpt4 key购买 nike

我想创建一个复选框列表,以便用户可以从数据列表中进行选择。我已经为每条数据创建了复选框,现在我希望勾选这些复选框以将数据添加到列表中。

import ipywidgets as widgets

data = ["data1", "data2", "data3", "data4"]

selected_data = []

checkboxes = [widgets.Checkbox(value=False, description=label) for label in data]

widgets.VBox(children=checkboxes)

我想做一些类似的事情

def add_to_selected(d):
selected_data.append(d)

checkboxes[0].observe(add_to_selected)

这会将值添加到 selected_data 列表中。我不知道如何让 VBox 中的复选框表现得像这样。

最佳答案

我知道我在这里已经很晚了,但这可能会对将来的其他人有所帮助。

在 Jupyter 中,这是您的第一个 block :

import ipywidgets as widgets
data = ["data1", "data2", "data3", "data4"]
checkboxes = [widgets.Checkbox(value=False, description=label) for label in data]
output = widgets.VBox(children=checkboxes)
display(output)

上面将输出一个 VBox,其中包含列表变量“data”中的四个选项。然后要获取所选值的列表,您可以执行以下操作:

selected_data = []
for i in range(0, len(checkboxes)):
if checkboxes[i].value == True:
selected_data = selected_data + [checkboxes[i].description]
print(selected_data)

请注意,我将 selected_data 列表从选择之前移至选择之后。这样做的原因是,如果您要运行多次,for 循环的 self 替换 selected_data 部分不会连续添加先前选择的选择。

关于python - ipywidgets 动态创建复选框和选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57219796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com