一、列表

  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. CF1106F Lunar New Year and a Recursive Sequence

    题目链接:CF1106F Lunar New Year and a Recursive Sequence 大意:已知\(f_1,f_2,\cdots,f_{k-1}\)和\(b_1,b_2,\cdot ...

  2. CODEFORCES掉RATING记 #4

    比赛:Codeforces Round #427 (Div. 2) 时间:2017.7.31晚 开场发现有6道题,都是水题(可能我只会做水题) A:比较\(2t_1+sv_1\)与\(2t_2+sv_ ...

  3. zabbix 自定义 nginx 监控模板

    打开zabbix首页→配置→模板→创建模板模板名称:Template App NGINXagent 需添加自定义监控项:UserParameter=nginx.status[*],/bin/bash ...

  4. Hdoj 2289.Cup 题解

    Problem Description The WHU ACM Team has a big cup, with which every member drinks water. Now, we kn ...

  5. 【bfs】1252 走迷宫

    [题目描述] 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走:有的格子是空地,可以走. 给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到).只能在水平方向或垂直方向走,不 ...

  6. multimap多重映照容器

    //multimap的基本用法 #include<map> #include<iostream> #include<string> using namespace ...

  7. 牛客练习赛31 D神器大师泰兹瑞与威穆

    双链表搞完了 #include<bits/stdc++.h> using namespace std; #define maxn 1000005 int tot,bac[maxn],fa[ ...

  8. Spring Cloud Vault介绍

    https://mp.weixin.qq.com/s?__biz=MzU0MDEwMjgwNA==&mid=2247484838&idx=1&sn=6439ed96133dde ...

  9. Developing JSF applications with Spring Boot

    Developing JSF applications with Spring Boot Spring Boot can leverage any type of applications, not ...

  10. A1042. Shuffling Machine

    Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techn ...