我想用列表中的元素填充表的前N行。 现在我正在使用它(它填充每列的前5行,直到它用完列表中的元素)并且它有效:
l=list(range(1,20))
col=0
row=0
for x in l:
button=QPushButton()
layout.addWidget(button,row,col)
row+=1
if row%5==0:
col+=1
row=0
示例是pyqt,但这是无关紧要的。 问题是 :我该怎么做没有在开头启动这两个变量:col和row 外部 for循环,它真的很难看,正如我从阅读123141241 stackoverflow帖子到目前为止所理解的那样,它不是“pythonic”。 THX!
答案 0 :(得分:3)
for x in range(1,20):
row = x%5
col = x // 5
button=QPushButton()
layout.addWidget(button,row,col)