有没有一种简单的方法可以循环显示功能中的复选框变量数组?

Is there an easy way to loop through an array of checkbox variables in the display function?

我正在使用 Python 的小部件库(请参阅:将 ipywidgets 导入为小部件)并且我正在尝试简化一些代码。这是我正在使用的主要代码块:

d = []
for a in X.columns:
    d.append(a) 
x = dict()
for i in range(len(d)):
    x[i] = widgets.Checkbox(options=d[i],description=d[i],disabled=False)
display(x[89])

这意味着从变量 x[0] 到 x[n] 有一个相应的复选框规定,它将显示该复选框和与该 x[n] 关联的相应变量。我想让它更动态,而不是写下面的内容来查看所有可用的复选框...

display(x[0],x[1],x[2],x[3],...,x[n])

我可以做更多这样的事情...

b = []
for a in range(len(d)):
    b.append("x[{}]".format(a))
display(b)

但这行不通。它打印出如下所示的字符串列表,而不是具有相应变量名称的复选框。

['x[0]',
 'x[1]',
 'x[2]',
 'x[3]',...
 'x[n]']

我希望这是有道理的。如果有人对如何解决这个问题有任何见解,我们将不胜感激。

您的代码缺少一些关键位,无法为我提供全面帮助(例如,您需要定义数据框 X,从字典构建模拟副本或其他内容)。

但是,如果您有一个小部件列表,则需要将它们放在一个容器中(例如 widgets.HBoxwidgets.VBox),然后显示该容器

import ipywidgets as widgets
x = list()
for i in range(5):
    widg = widgets.Checkbox(True,description=str(i),disabled=False)
    x.append(widg)
box = widgets.VBox(tuple(x))
display(box)