【问题标题】:Only create list in python with every 5th item? [duplicate]仅在 python 中每 5 项创建列表? [复制]
【发布时间】:2017-03-13 02:54:23
【问题描述】:

我有一个包含 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 从listA 创建listBlistB 应该等于 [5, 10, 15, 20]

【问题讨论】:

    标签: python list indices


    【解决方案1】:

    你可以用这个成语

    listB = listA[4::5]
    

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

    【讨论】:

      【解决方案2】:

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

      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,可以设为负值 - 生成递减列表)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-12
        • 1970-01-01
        • 2017-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-15
        相关资源
        最近更新 更多