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中stdout输出不缓存的设置方法
May 29 Python
python实现读取命令行参数的方法
May 22 Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
python实现学生信息管理系统
Apr 05 Python
python numpy和list查询其中某个数的个数及定位方法
Jun 27 Python
利用pyuic5将ui文件转换为py文件的方法
Jun 19 Python
python射线法判断一个点在图形区域内外
Jun 28 Python
python画蝴蝶曲线图的实例
Nov 21 Python
python绘制BA无标度网络示例代码
Nov 21 Python
python二维键值数组生成转json的例子
Dec 06 Python
Python 模拟生成动态产生验证码图片的方法
Feb 01 Python
python爬取新闻门户网站的示例
Apr 25 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
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
php &amp;&amp; 逻辑与运算符使用说明
2010/03/04 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
PHP闭包实例解析
2014/09/08 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
Checbox的操作含已选、未选及判断代码
2013/11/07 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
2018/07/13 Javascript
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
Javascript var变量删除原理及实现
2020/08/26 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Python中的__slots__示例详解
2017/07/06 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
Python多线程获取返回值代码实例
2020/02/17 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
美国专注于健康商品的网站:eVitamins
2017/01/23 全球购物
教师年终个人自我评价
2013/10/04 职场文书
安全资金保障制度
2014/01/23 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
志愿者个人总结
2015/03/03 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
创业计划书之淘宝网店
2019/10/08 职场文书