只在每5个项目的python中创建列表?

时间:2016-10-31 00:33:18

标签: python list indices

我有20个项目的清单。我想创建一个新列表,而不仅仅包含列表中的每个第5项。

我有:

    listA=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
    for i in len(range(listA)):
      print i

如何使用Python从listB创建listAlistB应该等于[5, 10, 15, 20]

2 个答案:

答案 0 :(得分:4)

你可以使用这个习语

listB = listA[4::5]

这意味着从索引4开始,每隔5个元素选择一次。

答案 1 :(得分:0)

另一种方法是使用range()函数创建一个整数列表,它们之间的增量(步长)为5,然后使用它们访问原始列表的索引以将它们附加到新的列表中: / p>

listB=[]
for i in range(4,len(listA),5):
    listB.append(listA[i])

range(start, stop[, step])函数根据使用的参数返回整数列表:

  1. start - 列表中的第一个整数(可选,默认为0)。
  2. stop - 列表中生成的最后一个整数将是最大的,但小于stop的值(stop将不在列表中)。
  3. step - 列表中值的增量(默认为1,可以为负数 - 以生成递减列表)。