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 urlopen 使用小示例
Sep 06 Python
python 从远程服务器下载东西的代码
Feb 10 Python
Python中zip()函数用法实例教程
Jul 31 Python
Python中实现变量赋值传递时的引用和拷贝方法
Apr 29 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
分析运行中的 Python 进程详细解析
Jun 22 Python
解决Django layui {{}}冲突的问题
Aug 29 Python
详解基于python的多张不同宽高图片拼接成大图
Sep 26 Python
Python基本类型的连接组合和互相转换方式(13种)
Dec 16 Python
如何通过命令行进入python
Jul 06 Python
Python爬虫之爬取最新更新的小说网站
May 06 Python
Python制作一个随机抽奖小工具的实现
Jul 07 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
php代码把全角数字转为半角数字
2007/12/10 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
关于div自适应高度/左右高度自适应一致的js代码
2013/03/22 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
js propertychange和oninput事件
2014/09/28 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
如何使用Javascript中的this关键字
2020/05/28 Javascript
复制粘贴功能的Python程序
2008/04/04 Python
Python中转换角度为弧度的radians()方法
2015/05/18 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
详解Python 切片语法
2019/06/10 Python
Python调用.NET库的方法步骤
2019/12/27 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
Python绘制组合图的示例
2020/09/18 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
html5 div布局与table布局详解
2016/11/16 HTML / CSS
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
个人股份转让协议书范本
2015/01/28 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
Go 语言中 20 个占位符的整理
2021/10/16 Golang
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS