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去掉字符串中空格的方法
Mar 11 Python
Python中的数据对象持久化存储模块pickle的使用示例
Mar 03 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
Feb 26 Python
python 中xpath爬虫实例详解
Aug 26 Python
python线程中的同步问题及解决方法
Aug 29 Python
python numpy存取文件的方式
Apr 01 Python
Tensorflow训练MNIST手写数字识别模型
Feb 13 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
Feb 29 Python
Python开发入门——迭代的基本使用
Sep 03 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
PyQt QMainWindow的使用示例
Mar 24 Python
使用pd.merge表连接出现多余行的问题解决
Jun 16 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
建立文件交换功能的脚本(三)
2006/10/09 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
php入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
JavaScript的eval JSON object问题
2009/11/15 Javascript
jquery获取input表单值的代码
2010/04/19 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
JS实现移动端实时监听输入框变化的实例代码
2017/04/12 Javascript
浅谈Node.js 沙箱环境
2018/05/15 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
python做量化投资系列之比特币初始配置
2018/01/23 Python
JupyterNotebook设置Python环境的方法步骤
2019/12/03 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
SIDESTEP荷兰:在线购买鞋子
2019/11/18 全球购物
游戏商店:Eneba
2020/04/25 全球购物
小学生新学期寄语
2014/01/19 职场文书
个人工作表现评语
2014/04/30 职场文书
延安红色之旅心得体会
2014/10/07 职场文书
安徽导游词
2015/02/12 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
2019年销售人员的职业生涯规划书
2019/03/25 职场文书
详解Python中的进程和线程
2021/06/23 Python
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android