列表

list.append(x)

把一个元素添加到列表的结尾,相当于a[len(a):]=[x]

list.extend(L)

将一个给定列表中的所有元素都添加到另一个列表中,相当于a[(len):]=L

list.insert(i,x) 

在指定位置插入一个元素,第一个参数是准备插入的位置前面的元素的索引,

例如:a.insert(0,x)会插入到整个列表之前,而a.insert[len(a),x]相当于a.append(x)

list.remove(x)

从列表指定位置删除元素,如果没有指定索引,a.pop()返回 最后一个元素,并且最后一

个元素被删除,

list.clear()

从列表中删除所有元素,相当于del a[:]

list.index(x)

返回列表中第一个值为x的索引,如果没有匹配的元素就会返回一个错误

list.count(x)

返回x在列表中出现的次数

ist.sort()

对列表中的元素进行排序

list.reverse

就地倒排列表元素

list.copy()

返回列表的一个浅拷贝,相当于a[:]

列表可以当堆栈使用(直接拿来用)

列表也可以当作队列使用(但是基于列表本身的方法,这样用效率不是很高)

要实现队列,用collections.deque,在首尾两端快速插入和删除

列表推导式

但是可以再简化:

squ=[x ** 2 for x in range(10)]

如果推导式结合两个列表,而元素之间不相等的话

字典
字典是一种可变容器模型,可存储任意类型对象
字典的每个键值(key=>value)对用冒号:分割,每个对用逗号,分割
d={key1:value1,key2:value2}
键是唯一的,值则不必
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
dict={'alice':'234','betch':'9102'}

修改字典

dict={'alice':'234','betch':'9102'}

dict['alice']=4

删除字典

dict={'alice':'234','betch':'9102'}

del dict['alice'] 删除元素
dict.clear() 清除全部条目
del dict 删除字典 注:会引起异常,因为用del后字典不存在

字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行

字典方法:
keys():tuple 返回一个关键字序列 
values():tuple 返回一个值序列
items():tuple 返回一个元组序列,每个元组都是一个条目的【键,值】
clear():None 删除所有条目
get(key):value 返回这个关键字对应的值
pop(key):value 删除这个关键字对应的条目并返回它的值
popitem():tuple 返回一个随机选择的键值对作为元组并删除这个被选择的条目

元组

元组和列表相似,不同之处在于元组的元素不能改变,元组使用小括号,列表使用方括号

当元组只包含一个元素时,需要在后面添加括号
tup=(60,)
创建空元组
tup=()

元组也可以相加
例如 tup1=(1,2,3)
tup2=(2,4,5)
tup3=tup1+tup2
tup3==(1,2,3,2,4,5)

删除元组
元组中的元素值是不允许被删除的,但我们可以使用del值来删除整个元组
tup=(1,2,3)
del tup
程序会显示tup is not defined

元组运算符
len(1,2,3) 3
(1,2,3)+(2,3,4) (1,2,3,2,3,4)
[‘hi’]*4 ['hi','hi','hi','hi']
3 in (1,2,3) true
for x in (1,2,3) print x 1,2,3

元组索引,截取

tup=(1,2,3)

tup[0] 1
tup[-1] 3
tuo[1:] (2,3)

无关闭分隔符
任意无符号的对象,以逗号隔开,默认为元组
print(1,2,3)
1,2,3
x,y=1,2
print(x,y)
1 2

python3数据结构的更多相关文章

  1. python系列十一:python3数据结构

    #!/usr/bin/python #Python3 数据结构'''Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能.''' '''将 ...

  2. python016 Python3 数据结构

    Python3 数据结构本章节我们主要结合前面所学的知识点来介绍Python数据结构. 列表Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元 ...

  3. Python3 数据结构

    列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. 以下是 Python 中列表的方法: 方法 描述 list.append(x ...

  4. python3数据结构与算法

    python内置的数据结构包括:列表(list).集合(set).字典(dictionary),一般情况下我们可以直接使用这些数据结构,但通常我们还需要考虑比如搜索.排序.排列以及赛选等一些常见的问题 ...

  5. 吴裕雄--天生自然python学习笔记:Python3 数据结构

    列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. list.append(x) 把一个元素添加到列表的结尾,相当于 a[len ...

  6. Python3 数据结构之词频统计(英文)

    import string path = r'C:\Users\Black\Desktop\Walden.txt' with open(path, 'r', encoding='utf-8') as ...

  7. Python3数据结构汇总

    字符 列表 元组 集合 字典 能否被索引或切片 能 能 能 否 否 元素能否被编辑 否 能 否 能 能 增 1.list.append(x):把一个元素添加到列表的结尾: 2.list.insert( ...

  8. [转]python3字符串与文本处理

    转自:python3字符串与文本处理 阅读目录 1.针对任意多的分隔符拆分字符串 2.在字符串的开头或结尾处做文本匹配 3.利用shell通配符做字符串匹配 4.文本模式的匹配和查找 5.查找和替换文 ...

  9. PYTHON 100days学习笔记008-1:数据结构补充

    目录 Day008_01:数据结构补充 1.列表list 1.1 将列表当作堆栈使用 1.2 将列表当作队列使用 1.3 列表推导式 1.4 嵌套列表解析 1.5 del语句 2.元组和序列 3.集合 ...

随机推荐

  1. ASP.NET MVC4中使用NHibernate

    ASP.NET MVC4中使用NHibernate 1:下载安装NHibernate 打开 VS 2012新建一个 MVC4项目. 在项目名称上右击选择Manage NuGet Packages.你会 ...

  2. map,set的模板[STL]

    之前写某题单词查找的时候,有用到set,晚上写codeforces#497 div2 D题有用到map 感觉set,map的功能挺类似的,在此小结: 这里就不具体比较相同点和不同点了,免得看起来乱七八 ...

  3. 包图Package

    [UML]UML系列——包图Package 系列文章 [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       ...

  4. 个人计算机安装hadoop全分布

    一.工具说明 设备:实体主机一台 校园网络 虚拟设备:VMware下安装的ubuntu12.04版本三台,分别是master,slave1,slave2 二.ubuntu安装篇 前提知识:在windo ...

  5. POJ 3667 & 1823 Hotel (线段树区间合并)

    两个题目都是用同一个模板,询问最长的连续未覆盖的区间 . lazy代表是否有人,msum代表区间内最大的连续长度,lsum是从左结点往右的连续长度,rsum是从右结点往左的连续长度. 区间合并很恶心啊 ...

  6. iOS开发技术分享(1)— iOS本地数据存储

    iOS开发技术分享(1)— iOS本地数据存储 前言: 我本是一名asp.net程序员,后来加入了iOS游戏开发队伍,到现在也有一年多的时间了.这一年来,每天都干到2.3点钟才睡觉,不为别的,只为了学 ...

  7. JUC.Condition学习

    JUC.Condition学习笔记[附详细源码解析] 目录 Condition的概念 大体实现流程 I.初始化状态 II.await()操作 III.signal()操作 3个主要方法 Conditi ...

  8. 函数模板的trick

    函数模板的trick 让gcc支持成员函数模板的trick 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循“署名-非商业用途-保持一致”创作公用协议   gcc ...

  9. 我是如何理解ThreadLocal

    ThreadLocal的概念 ThreadLocal从英文的角度看,可以看成thread和local的组合,就是线程本地的意思,我们都知道,看过jvm内存分配的人都知道在jvm虚拟机中对每一个线程都分 ...

  10. TOGAF架构开发方法(ADM)之需求管理阶段

    TOGAF架构开发方法(ADM)之需求管理阶段 1.11 需求管理(Requirements Management) 企业架构开发方法各阶段——需求管理 1.11.1 目标 本阶段的目标是定义一个过程 ...