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中正则表达式详解
May 17 Python
解决Python2.7读写文件中的中文乱码问题
Apr 12 Python
selenium+python实现1688网站验证码图片的截取功能
Aug 14 Python
eclipse创建python项目步骤详解
May 10 Python
Python判断字符串是否xx开始或结尾的示例
Aug 08 Python
Python中的四种交换数值的方法解析
Nov 18 Python
用python的turtle模块实现给女票画个小心心
Nov 23 Python
使用python切片实现二维数组复制示例
Nov 26 Python
pandas 对group进行聚合的例子
Dec 27 Python
Python中快速掌握Data Frame的常用操作
Mar 31 Python
利用Matlab绘制各类特殊图形的实例代码
Jul 16 Python
python scrapy简单模拟登录的代码分析
Jul 21 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
最常用的8款PHP调试工具
2014/07/06 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
php实现购物车功能(下)
2016/01/05 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
2018/03/12 PHP
javascript 单选框,多选框美化代码
2008/08/01 Javascript
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
jquery心形点赞关注效果的简单实现
2016/11/14 Javascript
js实现页面刷新滚动条位置不变
2016/11/27 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
[02:39]DOTA2国际邀请赛助威团西雅图第一天
2013/08/08 DOTA
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
PyQt5每天必学之进度条效果
2018/04/19 Python
python中class的定义及使用教程
2019/09/18 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
python实现一个猜拳游戏
2020/04/05 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
SAZAC的动物连体衣和动物睡衣:Kigurumi Shop
2020/03/14 全球购物
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
优秀党员主要事迹
2014/01/19 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
企业标语口号
2014/06/10 职场文书
2014年学生会工作总结范文
2014/11/07 职场文书
Django实现聊天机器人
2021/05/31 Python
python 单机五子棋对战游戏
2022/04/28 Python