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 25 Python
python交互式图形编程实例(一)
Nov 17 Python
PyCharm代码提示忽略大小写设置方法
Oct 28 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
python设置环境变量的作用和实例
Jul 09 Python
Python Process多进程实现过程
Oct 22 Python
python 字典套字典或列表的示例
Dec 16 Python
python深copy和浅copy区别对比解析
Dec 26 Python
解决Keras自带数据集与预训练model下载太慢问题
Jun 12 Python
python 实现的IP 存活扫描脚本
Dec 10 Python
python 获取计算机的网卡信息
Feb 18 Python
python b站视频下载的五种版本
May 27 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递归实现无限分类 格式化数组的详解
2013/06/08 PHP
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
php浏览历史记录的方法
2015/03/10 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
相册展示PhotoSwipe.js插件实现
2016/08/25 Javascript
微信js-sdk地理位置接口用法示例
2016/10/12 Javascript
简述vue中的config配置
2018/01/23 Javascript
JS运动特效之同时运动实现方法分析
2018/01/24 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
解决python 无法加载downsample模型的问题
2018/10/25 Python
python 循环读取txt文档 并转换成csv的方法
2018/10/26 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
2018/11/29 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
Python colormap库的安装和使用详情
2020/10/06 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
生产班组长岗位职责
2014/01/05 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
室内设计专业自荐信
2014/05/31 职场文书
节能环保标语
2014/06/12 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python