Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为列表中的每五个对象执行一项操作_Python_List_Object_For Loop - Fatal编程技术网

Python 为列表中的每五个对象执行一项操作

Python 为列表中的每五个对象执行一项操作,python,list,object,for-loop,Python,List,Object,For Loop,好的,我有一个代码,我需要打印一个有5x5个方块的游戏板。所有的方块都在squareList中,这是一个列表哦,你不会说的。正方形基于一个对象,该对象具有一个可变的数字,该数字是我要打印的值。我该怎么做 编辑:之所以要这样做,是因为我想每隔五个正方形从一条新行开始,这样我就可以得到一块板,而不是一条带值的线。python切片/数组操作符支持一个可选步骤作为第三个值。squareList[开始:结束:步骤]: 使用5作为步长值,以获得列表中的每五个条目。为什么不为正方形中的每一行创建列表,然后将这

好的,我有一个代码,我需要打印一个有5x5个方块的游戏板。所有的方块都在squareList中,这是一个列表哦,你不会说的。正方形基于一个对象,该对象具有一个可变的数字,该数字是我要打印的值。我该怎么做


编辑:之所以要这样做,是因为我想每隔五个正方形从一条新行开始,这样我就可以得到一块板,而不是一条带值的线。

python切片/数组操作符支持一个可选步骤作为第三个值。squareList[开始:结束:步骤]:


使用5作为步长值,以获得列表中的每五个条目。

为什么不为正方形中的每一行创建列表,然后将这些行放入列表中

squareList = [rowList1, rowList2, rowList3, rowlist4, rowList5]
通过这种方式,可以在循环行时操纵列

for row in SquareList:
  doSomething(row[4])
您还可以使用列表提取列

colList1 = [row[0] for row in squareList]

我同意你可能想考虑其他更方便的数据结构,如CCKx所建议的。 这里有两种方法

假设:

squareList = [0,0,1,0,0,
              1,2,0,0,1,
              0,0,0,1,2,
              2,2,0,0,0,
              1,0,0,0,1]
然后你可以这样做:

for index, value in enumerate(squareList):
    print(value, end='')
    if (index % 5) == 4:
        print()
我假设是Python 3

这会按照你的要求去做你所要求的。索引将通过列表中的每个元素进行计数,当您除以5时,将得到余数,从而允许您在循环中每5次执行一次操作

也可以使用切片:

for row in range(5):
    for cell in squareList[row*5:row*5+5]:
        print(cell, end='')
    print()
另见:


对于平方列表中的第五个[4::5]:。。对itertools.islicesquareList中的fifth..或fifth执行操作,4,None,5:…我看不出问题标题与其正文之间的关系。@falsetru注释不用于回答。用一个答案来回答这个问题。@MatsLindh,在我们回答之前,我们需要知道实际的问题,标题和正文几乎没有共同点
for row in range(5):
    for cell in squareList[row*5:row*5+5]:
        print(cell, end='')
    print()