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合并字符串的3种方法
May 21 Python
Python 实现购物商城,含有用户入口和商家入口的示例
Sep 15 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
Django中多种重定向方法使用详解
Jul 17 Python
python视频按帧截取图片工具
Jul 23 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
python代码如何注释
Jun 01 Python
python pymysql库的常用操作
Oct 16 Python
python如何快速拼接字符串
Oct 28 Python
Python爬取梨视频的示例
Jan 29 Python
python在协程中增加任务实例操作
Feb 28 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正则提取或替换img标记属性
2013/06/26 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
原生javascript实现隔行换色
2015/01/04 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
javascript事件模型介绍
2016/05/31 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
2017/06/04 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
JavaScript 判断iPhone X Series机型的方法
2019/01/28 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
python爬取NUS-WIDE数据库图片
2016/10/05 Python
Python中index()和seek()的用法(详解)
2017/04/27 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
python使用logging模块发送邮件代码示例
2018/01/18 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
Django stark组件使用及原理详解
2019/08/22 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
python如何写try语句
2020/07/14 Python
Python 中Operator模块的使用
2021/01/30 Python
欧缇丽美国官网:Caudalie美国
2016/12/31 全球购物
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
高级3D打印市场:Gambody
2019/12/26 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
电子商务应届生求职信
2013/11/16 职场文书
文明倡议书
2015/01/19 职场文书
教务处干事工作总结
2015/08/14 职场文书
html form表单基础入门案例讲解
2021/07/21 HTML / CSS
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers