Python:在列表中一次读取n行

时间:2016-08-09 02:23:55

标签: list python-2.7 slice

我是python的新手,所以我知道必须有一个更优雅的方式来做到这一点,并希望得到一些建议。

目前,我有一个由x个条目组成的列表。我想:

  • 一次从列表中读取n个条目
  • 用这n个条目进行计算(计算标准偏差,所以我需要得到n个条目的平均值)
  • 转到下一个n个条目,然后使用这个新数据集进行另一次计算
  • 将所有这些值附加到文件

现在,我已经非常原始,只做了类似的事情:

first = mylist[0:11]
mean = sum(first)/nentries
second = mylist{11:22]
mean2 = sum(second)/nentries
...

正如你所看到的,如果我说352个条目并且我需要一次读取11行,这对于非常新手并不优雅。是否有一种简单的方法可以循环遍历列表,并且一次只能选出n个条目(在本例中为11个)?谢谢!

1 个答案:

答案 0 :(得分:1)

为什么不使用range

range(start, stop[, step]) -> list of integers

在你的情况下:

for start in range(0,len(mylist), 11):
    end = start + 11
    blablabla

itertools.count

range(start, stop[, step]) -> list of integers