Python 数据结构基本操作
数据结构是用来存储数据的逻辑结构,合理使用数据结构才能编写出优秀的代码。本文主要介绍Python提供的几种内置数据结构,包括元组、列表、字典的定义和基本操作方法以及介绍典型函数的使用方法。
元组结构
元组由一系列元素组成,包含在一对圆括号中。元组创建后不可修改。创建元组方法如下:
tuple = () # 空元组
tuple = ('Python',) #单元素元组,后面必须包含一个逗号
tuple = ('Python', 'Java', 'Shell') #多元素元组
tuple = (('Python', 'Java'), 'Shell', ['C++', 'Ruby'], 20) #元组中的元素可以是不同类型的数据
元组的基本操作,详细介绍可以通过help(tuple)查看。
(1)通过下标访问指定元素值
tuple[0] #访问第一个元素,下标从0开始
(2)通过切片访问某段的值
tuple[1:3] #获取下标1和2的值,不包括下标3
(3)遍历访问元组中的所有元素
for i in range(len(tuple)):
print "tuple[%d] = %s" % (i, tuple[i])
(4)元组的拆包赋值。可用于获取函数返回的多个值。
val1, val2, val3 = tuple #注意:变量个数要与元组中的元素个数一致。
列表结构
列表中是由一系列元素组成,包含一对方括号中。列表可以添加、删除、查找操作,元素值可修改。列表创建方法如下:
lst = [] # 空列表
lst = ['Python'] #单元素列表
lst = ['Python', 'Java', 'Shell'] #多元素元组
lst = [('Python', 'Java'), 'Shell', ['C++', 'Ruby'], 20] #列表中的元素可以是不同类型的数据
列表的基本操作方法,详细介绍可以通过help(list)查看。
lst.append(object) #在列表的末尾添加一个对象object
lst.insert(index,object) #在指定的索引index处插入一个对象object
lst.remove(value) #删除列表中首次出现的value值
lst.pop([index]) #删除索引index指定的值,如果不指定,删除列表中的最后一个元素
lst.extend(iterable) #将iterable指定的元素添加到列表末尾
lst.index(value, [start,[stop]]) #返回value出现在列表中的索引
lst.sort(cmp=None, key=None, reverse=False) #列表的排序
lst.reverse(...) # 列表的反转
value in lst #判断指定value是否存在于列表中
value not in lst #判断指定的vale是否不在列表中
列表的基本操作方法实例
>>> lst = ['','',''] #初始化一个列表
>>> lst.append('') #使用append()函数条件一个值
>>> lst
['', '', '', '']
>>> lst.insert(0,'') #在指定位置0插入字符'0'
>>> lst
['', '', '', '', '']
>>> lst.remove('') #删除列表中的字符'3'
>>> lst
['', '', '', '']
>>> lst.pop() #将指定位置字符删除,默认是最后一个位置。
''
>>> lst
['', '', '']
>>> lst.extend(['','','']) #合并列表
>>> lst
['', '', '', '', '', '']
>>> lst.index('')
3
>>> lst.sort() #对列表lst进行排序,原地置换
>>> lst
['', '', '', '', '', '']
>>> lst.reverse() #对列表lst进行反转输出,原地置换
>>> lst
['', '', '', '', '', '']
>>> '' in lst #判断指定字符'3' 是否在lst中,存在则返回True
True
>>> 3 in lst #3不存在lst中,返回False
False
>>> 3 not in lst #3不存在lst中,返回True
True
sort()函数典型实例介绍
1、按照指定字段排序列表元素
>>> lst = ['192.168.0.1 Success','192.168.0.10 Fail','192.168.0.2 Success']
>>> lst.sort(key = lambda x:int(x.split(' ')[0].split('.')[3]))
>>> print lst
['192.168.0.1 Success', '192.168.0.2 Success', '192.168.0.10 Fail']
Python 数据结构基本操作的更多相关文章
- python数据结构与算法
最近忙着准备各种笔试的东西,主要看什么数据结构啊,算法啦,balahbalah啊,以前一直就没看过这些,就挑了本简单的<啊哈算法>入门,不过里面的数据结构和算法都是用C语言写的,而自己对p ...
- python数据结构与算法——链表
具体的数据结构可以参考下面的这两篇博客: python 数据结构之单链表的实现: http://www.cnblogs.com/yupeng/p/3413763.html python 数据结构之双向 ...
- python数据结构之图的实现
python数据结构之图的实现,官方有一篇文章介绍,http://www.python.org/doc/essays/graphs.html 下面简要的介绍下: 比如有这么一张图: A -> B ...
- Python数据结构与算法--List和Dictionaries
Lists 当实现 list 的数据结构的时候Python 的设计者有很多的选择. 每一个选择都有可能影响着 list 操作执行的快慢. 当然他们也试图优化一些不常见的操作. 但是当权衡的时候,它们还 ...
- Python数据结构与算法--算法分析
在计算机科学中,算法分析(Analysis of algorithm)是分析执行一个给定算法需要消耗的计算资源数量(例如计算时间,存储器使用等)的过程.算法的效率或复杂度在理论上表示为一个函数.其定义 ...
- Python数据结构与循环语句
# Python数据结构与循环语句: 首先编程是一项技能,类似跑步,期初不必在意细节,能使用起来就行,等学的游刃有余了再回过头来关注细节问题也不迟. 关于买书: 学会python之后,才需要买书 ...
- python数据结构之栈与队列
python数据结构之栈与队列 用list实现堆栈stack 堆栈:后进先出 如何进?用append 如何出?用pop() >>> >>> stack = [3, ...
- python数据结构之树和二叉树(先序遍历、中序遍历和后序遍历)
python数据结构之树和二叉树(先序遍历.中序遍历和后序遍历) 树 树是\(n\)(\(n\ge 0\))个结点的有限集.在任意一棵非空树中,有且只有一个根结点. 二叉树是有限个元素的集合,该集合或 ...
- Python数据结构之四——set(集合)
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 经过几天的回顾和学习,我终于把Python 3.x中的基础知识介绍好啦.下面将要继续什么呢?让我想想先~~~嗯,还是 ...
随机推荐
- VMware虚拟机上配置nginx后,本机无法访问问题(转载)
转自:http://www.server110.com/nginx/201407/10794.html 把nginx装在CentOS上,用本机访问虚拟机的时候却出现了不能访问的问题,查了资料以后,原来 ...
- Calling async method synchronously
https://stackoverflow.com/questions/22628087/calling-async-method-synchronously/22629216#22629216 ht ...
- String,StringBuilder和StringBuffer区别
String字符串常量 StringBuilder 字符串变量(非线程安全) StringBuffer 字符串变量(线程安全) 1.String String是字符串常量,为不可改变对象 Strin ...
- Qt Xml Dom
//Dom方式更改节点信息 bool XmlTools::SetValue(QString name,float exposure,float gain,float gamma,int brightn ...
- ctags使用
1:安装ctags sudo apt-get install exuberant-ctags ctags --help 2:建立源码之间的组织关系: 1:ctags ./*.c -R 生成tags文件 ...
- python-day02-购物车
购物车 需求: 1.启动程序后,让用户输入工资,然后打印商品列表: 2.容许用户根据商品编号购买商品: 3.用户选择商品后,检测余额是否足够,够了就直接扣款,不够就提醒客户: 4.随时可以退出,退出时 ...
- ngModel缺省是by reference,
1) 缺省是 by reference, not value, ngModel, ngOptions等都一样 2) 如果要 track value 用 "track by", ...
- c#,Model 实体转json,字符串转json
public class JsonF { #region 字符串转json /// <summary> /// 字符串转json /// </summary> /// < ...
- tornado-5.1版本
server.py python server.py执行 import tornado.ioloop import tornado.options import tornado.web from to ...
- [转]C# 安装与部署
部署 Windows 应用程序 本演练演示为启动记事本的 Windows 应用程序创建一个安装程序的过程.在本演练中,您将首先创建一个 Windows 应用程序,然后创建一个安装程序:以便在安装过程中 ...