从列表

时间:2017-04-12 16:44:40

标签: python list loops

我想用列表中的元素填充表的前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!

1 个答案:

答案 0 :(得分:3)

for x in range(1,20):
    row = x%5
    col = x // 5
    button=QPushButton()
    layout.addWidget(button,row,col)