我正在做以下事情,它可以工作,但它并不优雅。我想知道是否有人对更漂亮的方法有任何见解。
假设我有 n 个布尔值,用户将设置为 true 或 false。对于每个布尔值,都有一个关联的函数 do_something,它将名为 myList 的多维列表中的下一个未处理列作为输入。下面的代码就是这样做的:
i=0
if boolean1:
do_something1([a[i] for a in myList])
i+=1
if boolean2:
do_something2([a[i] for a in myList])
i+=1
if boolean3:
do_something3([a[i] for a in myList])
i+=1
...
尽管它有效,但我内心的某些东西告诉我,有一种更优雅的方法可以做到这一点。似乎最好将列推送到队列中,然后在满足其中一个布尔值时将它们弹出。但这似乎是一大笔开销。有没有人有什么建议?