python - 向后切片元组 - 如何处理获取第一个元素?

标签 python

假设我想要一个元组的元素 1-3,向后:

x = (0,1,2,3,4)
x[1:4]

返回 (1,2,3)

x[3:0:-1]

返回 (3,2,1)

但是如果我想要元素 0-2 怎么办?

我可以做 x[2::-1] 得到 (2,1,0) 的正确答案但是 x[2:0 :-1] 返回 (2,1)x[2:-1:-1] 返回 ()

如果我以未知的间隔进行切片,是否有一种方法可以在不使用 if 语句的情况下切片到最后一项?

最佳答案

一种稍微低效的方式:

x[0:3][::-1]

相当于:

tuple(reversed(x[0:3]))

我不确定不必要的中间元组如何被优化掉。

关于python - 向后切片元组 - 如何处理获取第一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26066902/

相关文章:

python - Tumblr API v2 的 "Default callback URL:"是什么?

python - 发现 XLRD 不支持的格式

python - 迭代列的条件以查找其他列值

python - 多个 jinja2 扩展?

python - 训练 "Decision Tree"VS “Decision Path”

python - 为什么我会收到运行时错误 : CUDA error: invalid argument in pytorch?

python - 当网站也发出 HTTP 错误代码时如何访问 xml 响应

python - 翻转 matplotlib 图的 x 轴

python - 图像处理和神经网络方法

python - 应用了 base64 解码的数据在 json.loads() 中出错