我有以下代码:
self.array_lt = ['foo', 'bar', '', 'moo']
var = StringVar()
self.menult = OptionMenu(randomwindow, var, *self.array_lt)
self.menult.config(width=30)
self.menult.grid(row=0, column=0, padx=(5,5), pady=(5,5))
这会向我显示OptionMenu
,其中包含四个值,foo
,bar
,(the empty space)
和moo
。
如何在不显示数组空值的情况下显示OptionMenu
?换句话说,我想在foo
上仅显示bar
,moo
和OptionMenu
,并忽略空白区域。
array_ly
只是一个例子,我想要总是忽略一些空格。
提前致谢。
答案 0 :(得分:1)
您可以将filter
与None
一起用作过滤器函数,以过滤掉在被解释为布尔值时评估为False
的值:
>>> filter(None, ["1", 0, " ", "", None, True, False, "False"])
['1', ' ', True, 'False']
将列表传递给OptionMenu
self.menult = OptionMenu(randomwindow, var, *filter(None, self.array_lt))