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数据结构之图深度优先和广度优先实例详解
Jul 08 Python
Python增量循环删除MySQL表数据的方法
Sep 23 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
Oct 26 Python
Python使用folium excel绘制point
Jan 03 Python
python线程安全及多进程多线程实现方法详解
Sep 27 Python
python list数据等间隔抽取并新建list存储的例子
Nov 27 Python
Python timer定时器两种常用方法解析
Jan 20 Python
Django用数据库表反向生成models类知识点详解
Mar 25 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
python相对企业语言优势在哪
Jun 12 Python
Windows 平台做 Python 开发的最佳组合(推荐)
Jul 27 Python
python爬虫判断招聘信息是否存在的实例代码
Nov 20 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开启安全模式后禁用的函数集合
2011/06/26 PHP
PHP文件锁定写入实例解析
2014/07/14 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
jQuery实现的类flash菜单效果代码
2010/05/17 Javascript
基于jQuery的可以控制左右滚动及自动滚动效果的代码
2010/07/25 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
JavaScript判断微信浏览器实例代码
2016/06/13 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
Python中的测试模块unittest和doctest的使用教程
2015/04/14 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
django中media媒体路径设置的步骤
2019/11/15 Python
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
网络方面基础面试题
2012/11/16 面试题
初中优秀班集体申报材料
2014/05/01 职场文书
商铺消防安全责任书
2014/07/29 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
2016春季运动会前导词
2015/11/25 职场文书
浅谈如何写好演讲稿?
2019/06/12 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL
使用javascript解析二维码的三种方式
2021/11/11 Javascript