python数据结构总结
一、列表
1、列表脚本操作符:
(1)扩增的操作符:
“+”:用于组合列表;如[1,2,3]+[4,5,6]==>[1,2,3,4,5,6]
"*":重复;如[2,3]*2==>[2,3,2,3]
2、列表函数
cmp(list1,list2):比较两个列表的元素;当list1<list2时,返回-1;当list1>list2时,返回1;当list1=list2时,返回0;
len(list):返回列表元素个数;
max(list):返回列表元素最大值;
min(list):返回列表元素最小值;
3、列表方法
(1)扩增的方法:
list.append(obj.):在列表的末尾添加新对象;
list.extend(seq):在列表的末尾一次性追加另一个序列的多个值(1、seq为列表和元组时,将列表和元组的所有元素添加;2、seq为字典时,将字典所有的key添加;)
list.insert(index,obj):将对象添加进对应的索引位置中;
(2)删除元素:
list.pop([obj=list[-1]]):默认删除list中最后一个元素,并且返回该元素值;list.pop(1)表示删除list中倒数第二个元素;
list.remove(obj):删除list中某个值的第一个匹配项;
(3)统计元素在list中出现的次数:list.count(obj)
(4)反向列表元素:list.reverse()
(5)对原列表排序:list.sort([func])
4、访问列表的值:
list[index]:访问索引指向的值,从0开始;
list[-1]:访问倒数第一个元素;
list[1:3]:访问第2个元素到第3个元素,索引为3的元素不访问;
list[1:]:访问第2个元素到最后一个元素。
5、其它:
删除元素语句:del list[index]
更新元素值:list[1]=3; ===>直接将索引为1的元素值改为“3”
判断是否存在元素值:3 in [1,2,3]==>返回True
二、元组
1、操作符和访问值:与列表类似
2、创建:当只有一个元素时,元素后面需要加上逗号,如tuple=(1,)
3、元组中的元素值不允许修改;
4、元组中的元素值不允许删除;可以使用del语句删除整个元组;
5、元组函数
(1)cmp(tuple1,tuple2):与list类似
(2)len(tuple):元组元素个数
(3)max(tuple)
(4)min(tuple)
(5)tuple(seq):将列表转换为元组
三、字典
键与值:(1)键必须是唯一的,但值可以不是;(2)键必须是不可变的,但值可以是任意数据类型;
1、访问值:
(1)直接访问,把键放在方括号中访问:dict['keyname']
(2)dict.values():以列表返回字典中所有值;
(3)dict.keys():以列表返回字典中所有键;
(4)dict.get(key,default=None):返回指定键的值,如果键不存在,则返回默认值;
(5)dict.setdefault(key,default=None):返回指定键的值,如果键不存在,则会添加键,键的值为默认值;
2、修改值:
(1)直接修改键值:dict['key']=new_values;
3、扩增:
(1)直接新增键/值对:dictname['new_keys']=new_value;
(2)dict.update(dict2):把字典dict2的键/值对更新到dict中;
(3)dict.fromkeys(seq[,values]):创建一个新字典,以seq中的值为字典的键,values为字典的值;
4、删除字典元素:
(1)删除键/值对:del dictname['keyname']
(2)删除键内所有键/值对:dictname.clear()
(3)删除字典:del dictname
5、其它:
(1)len(dictname):字典元素个数,即键的总数;
(2)dict.items():以列表返回可遍历的(键,值)元组数组
(3)dict.has_key('keyname'):判断键是否存在字典中
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中的基础知识介绍好啦.下面将要继续什么呢?让我想想先~~~嗯,还是 ...
- Python数据结构之单链表
Python数据结构之单链表 单链表有后继结点,无前继结点. 以下实现: 创建单链表 打印单链表 获取单链表的长度 判断单链表是否为空 在单链表后插入数据 获取单链表指定位置的数据 获取单链表指定元素 ...
随机推荐
- Chrome不安装插件实现页面长截图
1.打开需要截图的页面,按F12进入审查模式 或直接在页面右击鼠标右键-检查,打开如下窗口 2.在控制台中按下 ctrl+shift+p,弹出如下输入框 3.输入screen进行模糊查找,选择“Ca ...
- 记一次Java调优案例分析
上周,一同学给我发来,他们那里的案例 一看就是新生代产生过多对象,肯定是批量或者循环操作导致的,导致新生代一直在进行回收导致. 如果是老生代出现这样的问题,大部分情况下是列表或者集合导致的. 因此我们 ...
- Hdoj 1785.You Are All Excellent 题解
Problem Description 本次集训队共有30多人参加,毫无疑问,你们都是很优秀的,但是由于参赛名额有限,只能选拔部分队员参加省赛.从学校的角度,总是希望选拔出最优秀的18人组成6支队伍来 ...
- 【BZOJ5470】[FJOI2018]所罗门王的宝藏()
[BZOJ5470][FJOI2018]所罗门王的宝藏() 题面 BZOJ 洛谷 有\(n+m\)个变量,给定\(k\)组限制,每次告诉你\(a_i+b_j=c_k\),问是否有可行解. 题解 一道很 ...
- 【BZOJ5314】[JSOI2018]潜入行动(动态规划)
[BZOJ5314][JSOI2018]潜入行动(动态规划) 题面 BZOJ 洛谷 题解 不难想到一个沙雕\(dp\),设\(f[i][j][0/1][0/1]\)表示当前点\(i\),子树中一共放了 ...
- luogu5012 水の数列 (并查集+线段树)
如果我们能求出来每个区间个数的最大分值,那就可以用线段树维护这个东西 然后出答案了 然后这个的求法和(luogu4269)Snow Boots G非常类似,就是我们把数大小排个序,每次都拿<=x ...
- CodeVS1288埃及分数(IDA*)
在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数. 如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的. 对于一个分数a/b,表示方法有很多种,但 ...
- 20165223《Java程序设计》第九周Java学习总结
教材学习内容总结 第13章- URL类 InetAddress类 套接字 UDP数据报 广播数据报 Java远程调用(RMI) 教材学习中的问题和解决过程 1. URL类 URL类构造方法: 使用字符 ...
- HDU--5269 ZYB loves Xor I (字典树)
题目电波: HDU--5269 ZYB loves Xor I 首先我们先解决 ai xor aj 每个数转化为二进制 我们用字典树统计 每个节点 0 和 1 的出现的个数 #include< ...
- java ArrayList去重
对list集合中的重复值进行处理,大部分是采用两种方法, 一种是用遍历list集合判断后赋给另一个list集合, 另一种是用赋给set集合再返回给list集合. 方法1:set集合去重,不打乱顺序 L ...