一、列表

  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数据结构总结的更多相关文章

  1. python数据结构与算法

    最近忙着准备各种笔试的东西,主要看什么数据结构啊,算法啦,balahbalah啊,以前一直就没看过这些,就挑了本简单的<啊哈算法>入门,不过里面的数据结构和算法都是用C语言写的,而自己对p ...

  2. python数据结构与算法——链表

    具体的数据结构可以参考下面的这两篇博客: python 数据结构之单链表的实现: http://www.cnblogs.com/yupeng/p/3413763.html python 数据结构之双向 ...

  3. python数据结构之图的实现

    python数据结构之图的实现,官方有一篇文章介绍,http://www.python.org/doc/essays/graphs.html 下面简要的介绍下: 比如有这么一张图: A -> B ...

  4. Python数据结构与算法--List和Dictionaries

    Lists 当实现 list 的数据结构的时候Python 的设计者有很多的选择. 每一个选择都有可能影响着 list 操作执行的快慢. 当然他们也试图优化一些不常见的操作. 但是当权衡的时候,它们还 ...

  5. Python数据结构与算法--算法分析

    在计算机科学中,算法分析(Analysis of algorithm)是分析执行一个给定算法需要消耗的计算资源数量(例如计算时间,存储器使用等)的过程.算法的效率或复杂度在理论上表示为一个函数.其定义 ...

  6. Python数据结构与循环语句

    # Python数据结构与循环语句:   首先编程是一项技能,类似跑步,期初不必在意细节,能使用起来就行,等学的游刃有余了再回过头来关注细节问题也不迟.  关于买书: 学会python之后,才需要买书 ...

  7. python数据结构之栈与队列

    python数据结构之栈与队列 用list实现堆栈stack 堆栈:后进先出 如何进?用append 如何出?用pop() >>> >>> stack = [3, ...

  8. python数据结构之树和二叉树(先序遍历、中序遍历和后序遍历)

    python数据结构之树和二叉树(先序遍历.中序遍历和后序遍历) 树 树是\(n\)(\(n\ge 0\))个结点的有限集.在任意一棵非空树中,有且只有一个根结点. 二叉树是有限个元素的集合,该集合或 ...

  9. Python数据结构之四——set(集合)

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 经过几天的回顾和学习,我终于把Python 3.x中的基础知识介绍好啦.下面将要继续什么呢?让我想想先~~~嗯,还是 ...

  10. Python数据结构之单链表

    Python数据结构之单链表 单链表有后继结点,无前继结点. 以下实现: 创建单链表 打印单链表 获取单链表的长度 判断单链表是否为空 在单链表后插入数据 获取单链表指定位置的数据 获取单链表指定元素 ...

随机推荐

  1. BZOJ2480Spoj3105 Mod&BZOJ1467Pku3243 clever Y——EXBSGS

    题目描述 已知数a,p,b,求满足a^x≡b(mod p)的最小自然数x. 输入     每个测试文件中最多包含100组测试数据.     每组数据中,每行包含3个正整数a,p,b.     当a=p ...

  2. 洛谷P2764 最小路径覆盖问题

    有向无环图的最小路径点覆盖 最小路径覆盖就是给定一张DAG,要求用尽量少的不相交的简单路径,覆盖有向无环图的所有顶点. 有定理:顶点数-路径数=被覆盖的边数. 要理解的话可以从两个方向: 假设DAG已 ...

  3. codeforces553C Love Triangles

    题目链接:codeforces553C Love Triangles 我们来看一下对于一个合法三角形可能出现的边 我们发现,在确定了两边之后,第三条边是什么也就随之确定了 我们用\(1\)表示\(lo ...

  4. 【XSY1596】旅行 期望DP

    题目大意 有\(m\)个游客, 他们都依次访问城市\(1,2,3,\ldots,n\), 第\(i\)个游客到达任意一个城市后有\(p_i\)的概率会停下, 不再继续前行 设\(c_i\)个乘客经过了 ...

  5. HAOI2017 简要题解

    「HAOI2017」新型城市化 题意 有一个 \(n\) 个点的无向图,其中只有 \(m\) 对点之间没有连边,保证这张图可以被分为至多两个团. 对于 \(m\) 对未连边的点对,判断有哪些点对满足将 ...

  6. [luogu3628][bzoj1911][APIO2010]特别行动队【动态规划+斜率优化DP】

    题目描述 给你一个数列,让你将这个数列分成若干段,使其每一段的和的\(a \times sum^2 + b \times sum + c\)的总和最大. 分析 算是一道斜率优化的入门题. 首先肯定是考 ...

  7. 「FJOI2016」神秘数 解题报告

    「FJOI2016」神秘数 这题不sb,我挺sb的... 我连不带区间的都不会哇 考虑给你一个整数集,如何求这个神秘数 这有点像一个01背包,复杂度和值域有关.但是你发现01背包可以求出更多的东西,就 ...

  8. luogu3233 世界树 (虚树)

    反正肯定要建虚树,考虑建完之后怎么做 先随便dp一下算出来距离某点最近的询问点mi[x](因为有的虚树上的点它不是询问点嘛) 那我们对于某条链x到fa[x]上的非虚树上的点(包括他们的非虚树上的孩子) ...

  9. bzoj2288 生日礼物 (线段树)

    我当然想选最大的子段和啦 但要选M次 那不一定就是最好的 所以提供一个反悔的选项,我选了一段以后,就把它们乘个-1,然后再选最好的(类似于网络流的思路) 这个可以用线段树来维护,记一个区间包含左端点/ ...

  10. LOJ#2306 蔬菜

    补充一个题意不太清楚的地方:蔬菜坏掉是假设蔬菜都有标号,那么特定标号的蔬菜就会在特定时间坏掉.如果你及时卖了它们,那么那一天就不会有新的蔬菜坏掉. 结论1:如果我们知道了k天的答案,那么我们直接扔掉若 ...