python - 列表的第一个元素和最后一个元素,Python
问题描述
我知道这个问题有类似的问题,只要求第一个元素和最后一个元素,但我认为这个问题是不同的:
给定一个列表a=[1,2,3,4,5,6,7,8,9,10]
,是否有可能以一种优雅的形式编写一种方法,以使其返回的方式在一行中获取第一个元素和最后三个(或 n 个)元素[8,9,10,1]
?
我尝试使用a[7:-1]
,但由于它理解为好像它们是倒排索引,所以它不起作用。
我也知道这样做是可能的a[len(a)-n:]+[a[0]]
,但我想知道是否有“括号”方式。
解决方案
不,没有。连接两个切片是你能得到的最好的:
a[-3:] + a[:1]
使用一些实用程序,您至少可以从单个连续切片中获得此结果,这可以简化一些代码来计算边界索引并检查重叠或保持入站:
from itertools import cycle, islice
list(islice(cycle(a), 7, 11))
# [8, 9, 10, 1]
看:
推荐阅读
- r - 如何使用 quadprog::solve.QP 解决 R 中的错误?
- c++ - "
(退出值:-1,073,741,511)“运行时出现 Eclipse C++ 错误 - azure-application-insights - Kusto 查询,如何保存查询结果并稍后使用
- c# - 如何将 A.CallTo 与 context.T.AddAsync 一起使用
- javascript - JavaScript 搜索栏 - 需要搜索
- 和
- r - 使用 eventReactive 在闪亮的 R 上绘制点时出现问题
- python - 正则表达式替换python中列中的前两个字母
- kubernetes - 重写 Istio Mesh 中 pod 的传出请求的主机和端口
- php - 输出对评论的回复
- angular - 如何在行为主体中保存初始数据的状态?