详解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之眼花缭乱的运算符
Sep 14 Python
python中反射用法实例
Mar 27 Python
python中sleep函数用法实例分析
Apr 29 Python
Python回调函数用法实例详解
Jul 02 Python
用python记录运行pid,并在需要时kill掉它们的实例
Jan 16 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
Jan 31 Python
python模块导入的细节详解
Dec 10 Python
学习python的前途 python挣钱
Feb 27 Python
给Python学习者的文件读写指南(含基础与进阶)
Jan 29 Python
Python实现删除某列中含有空值的行的示例代码
Jul 20 Python
Jupyter Notebook安装及使用方法解析
Nov 12 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
Jan 28 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
PHP常用数组函数介绍
2014/07/28 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
js enter键激发事件实例代码
2016/08/17 Javascript
JavaScript基本语法_动力节点Java学院整理
2017/06/26 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
进一步探究Python中的正则表达式
2015/04/28 Python
Python fileinput模块使用实例
2015/06/03 Python
python奇偶行分开存储实现代码
2018/03/19 Python
Pandas的read_csv函数参数分析详解
2019/07/02 Python
2021年的Python 时间轴和即将推出的功能详解
2020/07/27 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
LUISAVIAROMA中国官网:时尚奢侈品牌购物网站
2020/11/01 全球购物
北京某公司的.net笔试题
2014/03/20 面试题
土木工程个人自荐信范文
2013/11/30 职场文书
商场中秋节广播稿
2014/01/17 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
合作意向协议书范本
2014/03/31 职场文书
婚宴邀请函
2015/01/30 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python
JavaWeb 入门篇(3)ServletContext 详解 具体应用
2021/07/16 Java/Android