有没有一种简单的方法可以循环显示功能中的复选框变量数组?
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.HBox
或 widgets.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)
我正在使用 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.HBox
或 widgets.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)