如何使用 Python 切片从列表中提取每个第 N 个元素

Linda Hamilton
发布: 2024-10-20 11:10:02
原创
689 人浏览过

How to Extract Every Nth Element from Lists Using Python Slicing

使用 Python 从列表中提取第 N 个元素

任务是从给定列表中提取每个后续​​的第 N 个项目。例如,给定一个整数列表 [0, 1, 2, 3, ..., 997, 998, 999],目标是获得一个包含第一个和随后的第 10 个项目的新列表,结果是 [0, 10, 20, 30, ..., 990].

虽然带有模数检查的 for 循环是一种简单的方法,但使用 Python 的切片运算符存在更简洁、更高效的解决方案。

<code class="python">xs = list(range(1000))
new_list = xs[0::10]</code>
登录后复制

这一行用一行代码完成了任务。语法 xs[0::10] 是一个切片表达式,其中:

  • 0 指定起始索引(含)。
  • ::10 是一个步骤,表示采取每 10 个元素。

生成的 new_list 包含所需的元素,[0, 10, 20, 30, ..., 990]。

性能比较

基准测试表明,这种切片方法比 for 循环解决方案要快得多:

$ python -m timeit -s "xs = list(range(1000))" "[x for i, x in enumerate(xs) if i % 10 == 0]"
517 loops, best of 5: 471.776 usec per loop

$ python -m timeit -s "xs = list(range(1000))" "xs[0::10]"
100000 loops, best of 5: 4.03 usec per loop
登录后复制

这证明了从列表中提取每个第 N 个项目的切片方法的效率和简单性蟒蛇。

以上是如何使用 Python 切片从列表中提取每个第 N 个元素的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!