python数据结构之列表和元组的详解


Posted in Python onSeptember 23, 2017

python数据结构之 列表和元组

序列:序列是一种数据结构,它包含的元素都进行了编号(从0开始)。典型的序列包括列表、字符串和元组。其中,列表是可变的(可以进行修改),而元组和字符串是不可变的(一旦创建了就是固定的)。序列中包含6种内建的序列,包括列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。

列表的声明:

mylist = []

2.列表的操作:

(1) 序列的分片:
 用法:mylist[startIndex:endIndex:step]
 exam: 
  mylist[2:10] 检索第2个字符到第10个字符,默认步长为1.
  mylist[2:10:2] 检索第2个字符到第10个字符,指定步长为2.
  mylist[-2:-1:2] 正数索引是相对于首部的坐标,负数是相对于尾部的坐标。其实坐标一定要小于终止坐标,否则返回空的分片。
  mylist[-12:-2:-2] 步长也可以是负数,表示从右向左提取元素。

(2) 序列的索引:
 用法:mylist[index]
 exam:
  mylist[2] mylist[-2]
  ps:正数是相对于首部的坐标,负数是相对于尾部的坐标。

(3) 序列相加:
 用法: mylist1 + mylist2  <==>  [1,2] + [3,4]


(4) 序列乘法:
 用法: mylist * 5  mylist元素重复5次。

(5) in操作符:
 用法: ‘item' in mylist 判断mylist是否包含某一成员。

3.列表涉及的内建函数: 内建函数len、min、max针对列表操作非常有用。

(1) len函数返回序列中所包含元素的数量。
(2) min函数和max函数分别返回学列中最大和最小元素。
(3) list函数可以把字符串转换成列表。
  exam: list('hello') => ['H','e','l','l','o']
(4) cmp函数用来比较2个元素的大小 
  exam: cmp(x,y) => 返回0表示相等, -1 则是 x < y 1 则是 x > y
(5) reversed函数对序列进行反向迭代。
(6) sorted 返回已排序的包含seq所有元素的列表。

4.列表的方法:

(1)append: append方法在列表末尾追加新的对象。
  exam:lst=[1,2,3] lst.append(4) => [1,2,3,4]
(2)count: count方法统计某个元素在列表中出现的次数。
  exam: x=[[1,2],1,1,[2,1,[1,2]]] x.count(1) => 1
(3)extend: extend方法可以在列表的末尾一次性追加另外一个序列的多个值。即:可以用新列表扩展原有列表。
  exam: a=[1,2,3] b=[4,5,6] a.extend(b) => [1,2,3,4,5,6]
(4)index: index方法用于从列表中找出某个值第一个匹配项的索引位置。
  exam:lst=['we','le','at'] lst.index('le') => 1
(5)insert:insert方法用于将对象插入到列表中:
  exam:lst=[1,2,3,4,5,6] lst.insert(3,8) => [1,2,3,8,4,5,6]
(6)pop: pop方法移除列表中的一个元素(默认是最后一个),并且返回该元素。
(7)remove: remove方法移除列表中某个值的第一个匹配项:
  exam: x=['to','be','or'] x.remove('to') => 你懂得。
(8)reverse 方法将列表中的元素反序。
(9)sort 方法用于在原位置对列表进行排序。 
  exam: sort方法有默认的排序方法,另外还具有高级排序的用法,sort方法有两个可选的参数,key 和 reverse,key指定排序的关键字参数,指定后排序会按key的大小来排序,reverse用于指定是否反序。
    x.sort(key=len) => 表示按照字符串的长度排序。
    x.sort(reverse=True) => 表示反序排序。
    x.sort(cmp) => 指定排序函数,你懂的。

5.元组:元组和列表一样,也是一种序列。唯一的不同是元组不能修改。

(1) 声明方式:
  用逗号分隔一些值,就自动创建了元组。 exam: 1,2,3 => (1,2,3)
  也可以通过园括号声明。 exam: (1,2,3) => (1,2,3)

(2) 元组的乘法:
  3*(40+2) => (42,42,42)

6.元组涉及的内建函数:

(1)tuple函数的功能和list函数的基本上是一样的:以一个序列作为参数并把它转换为元组。
  exam: tuple([1,2,3]) => tuple(1,2,3)

7.元组的分片:

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

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
python基于xml parse实现解析cdatasection数据
Sep 30 Python
python安装以及IDE的配置教程
Apr 29 Python
python实现将汉字转换成汉语拼音的库
May 05 Python
在Python web中实现验证码图片代码分享
Nov 09 Python
python ChainMap的使用和说明详解
Jun 11 Python
python实现一个函数版的名片管理系统过程解析
Aug 27 Python
Python安装及Pycharm安装使用教程图解
Sep 20 Python
python 正则表达式参数替换实例详解
Jan 17 Python
在Python中通过threshold创建mask方式
Feb 19 Python
python线程池如何使用
May 28 Python
python实现mean-shift聚类算法
Jun 10 Python
Python如何识别银行卡卡号?
Jun 10 Python
Python字符串和字典相关操作的实例详解
Sep 23 #Python
使用Turtle画正螺旋线的方法
Sep 22 #Python
详谈python read readline readlines的区别
Sep 22 #Python
Python实现针对含中文字符串的截取功能示例
Sep 22 #Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
Sep 22 #Python
Python中列表list以及list与数组array的相互转换实现方法
Sep 22 #Python
Python实现字符串与数组相互转换功能示例
Sep 22 #Python
You might like
计数器详细设计
2006/10/09 PHP
php出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
2009/09/30 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
JavaScript实用技巧(一)
2010/08/16 Javascript
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
Jquery之Bind方法参数传递与接收的三种方法
2014/06/24 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
使用Python操作excel文件的实例代码
2017/10/15 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
PyTorch里面的torch.nn.Parameter()详解
2020/01/03 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
节约用水的口号
2014/06/20 职场文书
2015年体检中心工作总结
2015/05/27 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书