开发者社区> 问答> 正文

从python数组中切割偶数/奇数行的最短方法是什么?

或者,一个更笼统的问题是,如何对数组进行切片以获取每第n行,因此对于偶数/奇数,您希望跳过一行,但是在一般情况下,您希望获取每n个th行,跳过n-1行。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-09 11:35:00 944 0
1 条回答
写回答
取消 提交回答
  • 假设您在谈论列表,则在切片中指定步骤(并开始索引)。语法为list[start:end:step]。

    您可能知道正常列表访问权限可以获取一项,例如l[2]获取第三项。给定两个数字,中间有一个冒号,您可以指定要从列表中获取的范围。返回值是另一个列表。例如,l[2:5]给您第三到第六项。您还可以传递一个可选的第三个数字,该数字指定步长。默认的步长为1,仅表示获取每个项目(在开始索引和结束索引之间)。

    例:

    l = range(10) l[::2] # even - start at the beginning at take every second item [0, 2, 4, 6, 8] l[1::2] # odd - start at second item and take every second item [1, 3, 5, 7, 9] 请参阅Python教程中的列表。

    如果要获取列表的n第n个元素(即不包括第一个元素),则必须像切片l[(n-1)::n]。

    例:

    l = range(20) l [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] 现在,获取第三个元素将是:

    l[2::3] [2, 5, 8, 11, 14, 17] 如果要包括第一个元素,只需执行l[::n]。

    2020-02-09 11:35:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载