博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【试译】Python切片表示法
阅读量:6356 次
发布时间:2019-06-23

本文共 1785 字,大约阅读时间需要 5 分钟。

  hot3.png

第一次翻译,尝试一个相对简单的吧。这是一个stackoverflow上关于切片的问题。

 

问题如下:

Do you have a good reference on the Python slice notation? To me, this notation needs a bit of picking up. It looks extremely powerful, but I haven't quite got my head round it and am looking for a good guide.

对于python切片的表示法,你有一个好的参考吗?对我来说,切片表示法有一点点难。虽然它看起来非常强大,但是我并没有完全理解它,一直在找一份关于切片好的指南。

获得最多支持的答案:

It's pretty simple really:

切片其实真的很简单:

a[start:end] # items start through end-1
a[start:] # items start through the rest of the array 
a[:end] # items from the beginning through end-1 
a[:] # a copy of the whole array

There is also the step value, which can be used with any of the above:

切片里有一个表示步长的参数,可以在上述任何情况下使用:

a[start:end:step] # start through not past end, by step

The key point to remember is that the :end value represents the first value that is not in the selected slice. So, the difference beween end and start is the number of elements selected (if step is 1, the default).

需要记住的关键点:终止值指向的元素不包含在切片内。因此,起始和终止的区别是被选择元素的数字(步长的默认参数值是1)。

(注:python总是左开右闭的,也就是说第一个参数包括,第二个参数不包括

The other feature is that start or end may be a negative number, which means it counts from the end of the array instead of the beginning. So:

切片的另一个特征是起止和终止值可以是负数,这意味着你可以从序列右边而不是左边开始计数。So:

a[-1] # last item in the array 
a[-2:] # last two items in the array a[:-2]
# everything except the last two items

Python is kind to the programmer if there are fewer items than you ask for. For example, if you ask for a[:-2] and a only contains one element, you get an empty list instead of an error. Sometimes you would prefer the error, so you have to be aware that this may happen.

对于程序员来说,python是这样一种语言。如果存在的项目比你要求访问的少。举例而言,如果你要求访问 a[:-2],但是序列a只有一个元素。你会得到一个空序列而不是一个错误。有些时候你或许更希望得到错误,所以当这种情况(没有返回错误)发生时你必须保持警惕。

转载于:https://my.oschina.net/jdren/blog/117466

你可能感兴趣的文章
【转】python3 发邮件实例(包括:文本、html、图片、附件、SSL、群邮件)
查看>>
事务隔离级别(图文详解)
查看>>
canvas系列教程08-canvas各种坑
查看>>
浅析package.json中的devdependencies 和 dependencies
查看>>
又一个 iOS 侧边栏组件: SideMenu
查看>>
vue.js 打包遇到的问题
查看>>
【译】更优秀的GraphQL官方中文文档-客户端如何使用
查看>>
git pull遇到的问题
查看>>
eclipse下maven spring项目环境配置
查看>>
无缝轮播
查看>>
CTS失败项分析(2)android.telephony.cts.VisualVoicemailServiceTest#testFilter_data
查看>>
三分钟,轻松了解Dapp
查看>>
GMQ交易平台满足不同客户群体的多种投资需求
查看>>
大数据开发如何入门你必须知道这些
查看>>
关于js(es5)如何优雅地创建对象
查看>>
阿里云前端周刊 - 第 28 期
查看>>
iOS 主队列同步造成死锁的原因
查看>>
es6 下比较对象是否有修改的简要方法
查看>>
windows安装mysql
查看>>
你还在看《深入理解Java虚拟机》的运行时数据模型吗?
查看>>