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中动态获取对象的属性和方法的教程
Apr 09 Python
在服务器端实现无间断部署Python应用的教程
Apr 16 Python
Java中重定向输出流实现用文件记录程序日志
Jun 12 Python
简单总结Python中序列与字典的相同和不同之处
Jan 19 Python
Python 实现一行输入多个值的方法
Apr 21 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 Python
python向字符串中添加元素的实例方法
Jun 28 Python
Flask框架搭建虚拟环境的步骤分析
Dec 21 Python
django rest framework 自定义返回方式
Jul 12 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
django表单中的按钮获取数据的实例分析
Jul 31 Python
分享3个非常实用的 Python 模块
Mar 03 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
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
JS解决url传值出现中文乱码的另类办法
2013/04/08 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
ANGULARJS中使用JQUERY分页控件
2015/09/16 Javascript
JavaScript简单获取系统当前时间完整示例
2016/08/02 Javascript
jQuery实现右键菜单、遮罩等效果代码
2016/09/27 Javascript
jQuery自定义组件(导入组件)
2016/11/08 Javascript
Javascript实现基本运算器
2017/07/15 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
jQuery实现表单动态加减、ajax表单提交功能
2018/06/08 jQuery
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
Python实现的三层BP神经网络算法示例
2018/02/07 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
python中for in的用法详解
2020/04/17 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
英国计算机商店:Technextday
2019/12/28 全球购物
财会专业毕业生自荐信
2014/07/09 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
2014年行政工作总结
2014/11/19 职场文书
异地恋情人节寄语
2015/02/28 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL