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 15 Python
wxPython使用系统剪切板的方法
Jun 16 Python
Python实现脚本锁功能(同时只能执行一个脚本)
May 10 Python
Python向日志输出中添加上下文信息
May 24 Python
python同时遍历数组的索引和值的实例
Nov 15 Python
python实现求特征选择的信息增益
Dec 18 Python
Python实现将通信达.day文件读取为DataFrame
Dec 22 Python
Python实现Event回调机制的方法
Feb 13 Python
set在python里的含义和用法
Jun 24 Python
在python中,使用scatter绘制散点图的实例
Jul 03 Python
python实现斗地主分牌洗牌
Jun 22 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
Jan 29 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 学习资料零碎东西
2010/12/04 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
可缩放Reloaded-一个针对可缩放元素的复用组件
2007/03/10 Javascript
关于文本限制字数的js代码
2007/04/02 Javascript
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
Vue项目路由刷新的实现代码
2019/04/17 Javascript
用js简单提供增删改查接口
2019/05/12 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
[47:22]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python实现从url中提取域名的几种方法
2014/09/26 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
使用Python+wxpy 找出微信里把你删除的好友实例
2019/02/21 Python
python五子棋游戏的设计与实现
2019/06/18 Python
Django Rest framework三种分页方式详解
2019/07/26 Python
python模拟斗地主发牌
2020/04/22 Python
python中判断文件结束符的具体方法
2020/08/04 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
P D PAOLA意大利官网:西班牙著名的珠宝首饰品牌
2019/09/24 全球购物
计算机专业自荐信
2013/10/14 职场文书
西北政法大学自主招生自荐信
2014/01/29 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
Pytest中conftest.py的用法
2021/06/27 Python
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技