详解Python3中的Sequence type的使用


Posted in Python onAugust 01, 2015

其实本来是要reverse一下list的,就去查了一下list[::-1]是什么意思,发现还有很多要注意的地方,所以就记一下。
主要是参照https://docs.python.org/3/library/stdtypes.html?highlight=list#list

首先Sequence type有三种

  1.     list
  2.     tuple
  3.     range

slice

[i:j:k]表示的是slice of s from i to j with step k, 对三种类型都有用

>>> a = [1, 2, 3]
>>> a[::-1]
[3, 2, 1]
>>> a = (1, 2, 3)
>>> a[::-1]
(3, 2, 1)
>>> a = range(3)
>>> a[::-1]
range(2, -1, -1)

range中参数是range(start, stop[, step])
initialize a list

s * n表示的是n shallow copies of s concatenated
注意是浅拷贝哦,所以会有如下情况

>>> lists = [[]] * 3
>>> lists
[[], [], []]
>>> lists[0].append(3)
>>> lists
[[3], [3], [3]]

如果元素不是对象的话就没关系

>>> lists = [0] * 3
>>> lists
[0, 0, 0]
>>> lists[0] = 1
>>> lists
[1, 0, 0]

正确的初始化嵌套list的方法应该是

>>> lists = [[] for i in range(3)]
>>> lists[0].append(3)
>>> lists[1].append(5)
>>> lists[2].append(7)
>>> lists
[[3], [5], [7]]

concatenation pitfall

(感觉还是英文说的清楚些,这一点跟Java是一样的)
Concatenating immutable sequences always results in a new object. This means that building up a sequence by repeated concatenation will have a quadratic runtime cost in the total sequence length. To get a linear runtime cost, you must switch to one of the alternatives below:

Python 相关文章推荐
Python下Fabric的简单部署方法
Jul 14 Python
python对配置文件.ini进行增删改查操作的方法示例
Jul 28 Python
python实现TF-IDF算法解析
Jan 02 Python
python3解析库BeautifulSoup4的安装配置与基本用法
Jun 26 Python
Python发送邮件功能示例【使用QQ邮箱】
Dec 04 Python
解决安装pycharm后不能执行python脚本的问题
Jan 19 Python
Django认证系统实现的web页面实现代码
Aug 12 Python
Python argparse模块应用实例解析
Nov 15 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 Python
如何在python中实现线性回归
Aug 10 Python
python unichr函数知识点总结
Dec 16 Python
详解Pymongo常用查询方法总结
Jan 29 Python
将Python代码嵌入C++程序进行编写的实例
Jul 31 #Python
Python制作数据导入导出工具
Jul 31 #Python
简单理解Python中的装饰器
Jul 31 #Python
python简单分割文件的方法
Jul 30 #Python
Python读取网页内容的方法
Jul 30 #Python
python查看FTP是否能连接成功的方法
Jul 30 #Python
python如何实现excel数据添加到mongodb
Jul 30 #Python
You might like
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
JS动态给对象添加属性和值的实现方法
2016/10/21 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
axios异步提交表单数据的几种方法
2019/08/11 Javascript
Python中subprocess模块用法实例详解
2015/05/20 Python
详解Python3中字符串中的数字提取方法
2017/01/14 Python
Python文件操作基本流程代码实例
2017/12/11 Python
如何基于pythonnet调用halcon脚本
2020/01/20 Python
python字符串判断密码强弱
2020/03/18 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
Meli Melo官网:名媛们钟爱的英国奢侈手包品牌
2017/04/17 全球购物
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
会计专业毕业生自我鉴定
2013/10/29 职场文书
销售经理岗位职责
2014/03/16 职场文书
基层党员对照检查材料
2014/09/24 职场文书
检查机关党的群众路线个人整改措施
2014/10/04 职场文书
2015政治思想表现评语
2015/03/25 职场文书
工作建议书范文
2019/07/08 职场文书
JavaScript实现栈结构详细过程
2021/12/06 Javascript
springcloud整合seata
2022/05/20 Java/Android