将数组的每五个元素分配给一个块

时间:2017-03-12 20:27:12

标签: python python-2.7 loops

我在数组中有15个元素,我想分别将它们中的每五个分配给一个块。要素是:

elements=["a",'b','c','d','e','f','g','h','i','j','k','l','m','n','o']

我想说前5个元素属于块#1,后5个元素属于块#2,依此类推。我需要在循环结构中执行它,如下所述,我需要使用每个块的信息来执行特殊任务。因为我是python的新手,我不知道如何编写它。任何建议都将受到高度赞赏。

2 个答案:

答案 0 :(得分:2)

你可以简单地使用列表理解:

def blockify(elements,n=5):
    return [elements[i:i+n] for i in range(0,len(elements),n)]

将生成:

blockify(elements,5)

或更通用:

range

然后使用0调用它。

我们所做的是创建一个len(elements),范围从elements5n的长度),并制作elements[i:i+5]的跃点(或通用案例中的# Should write a new csv file every time containing the sorted scores with open("srt_Scores.csv", "w") as sortfile: w = csv.writer(sortfile) w.writerow([scores_int]) )。现在,对于每个步骤,我们都会在结果中添加一个切片{{1}}。

答案 1 :(得分:0)

循环全部并将索引除以5(分区运算符//) 划分的结果是组数。