python3数据结构
列表
| 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数据结构的更多相关文章
- python系列十一:python3数据结构
#!/usr/bin/python #Python3 数据结构'''Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能.''' '''将 ...
- python016 Python3 数据结构
Python3 数据结构本章节我们主要结合前面所学的知识点来介绍Python数据结构. 列表Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元 ...
- Python3 数据结构
列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. 以下是 Python 中列表的方法: 方法 描述 list.append(x ...
- python3数据结构与算法
python内置的数据结构包括:列表(list).集合(set).字典(dictionary),一般情况下我们可以直接使用这些数据结构,但通常我们还需要考虑比如搜索.排序.排列以及赛选等一些常见的问题 ...
- 吴裕雄--天生自然python学习笔记:Python3 数据结构
列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能. list.append(x) 把一个元素添加到列表的结尾,相当于 a[len ...
- Python3 数据结构之词频统计(英文)
import string path = r'C:\Users\Black\Desktop\Walden.txt' with open(path, 'r', encoding='utf-8') as ...
- Python3数据结构汇总
字符 列表 元组 集合 字典 能否被索引或切片 能 能 能 否 否 元素能否被编辑 否 能 否 能 能 增 1.list.append(x):把一个元素添加到列表的结尾: 2.list.insert( ...
- [转]python3字符串与文本处理
转自:python3字符串与文本处理 阅读目录 1.针对任意多的分隔符拆分字符串 2.在字符串的开头或结尾处做文本匹配 3.利用shell通配符做字符串匹配 4.文本模式的匹配和查找 5.查找和替换文 ...
- PYTHON 100days学习笔记008-1:数据结构补充
目录 Day008_01:数据结构补充 1.列表list 1.1 将列表当作堆栈使用 1.2 将列表当作队列使用 1.3 列表推导式 1.4 嵌套列表解析 1.5 del语句 2.元组和序列 3.集合 ...
随机推荐
- 企业架构与建模之ArchiMate的由来和详述(上)
终于完成了关于企业架构框架理论的总结,谢谢各位看官的支持,能挺过之前过于理论化的叙述而坚持到现在着实不易,笔者也自愧没有实践经验可以分享,希望日后有兴趣的看官能够不吝赐教.在本系列后面的也是最后一个大 ...
- TOGAF架构能力框架之架构合同、成熟度模型和架构技能框架
TOGAF架构能力框架之架构合同.成熟度模型和架构技能框架 5. 架构合同 架构合同是在开发团体和赞助者之间关于架构的交付物.质量以及适用目标的联合协议,并且通过有效的架构治理将会促使这些协议的成功施 ...
- eclipse在Ubuntu 13.04下的安装过程
eclipse在Ubuntu 13.04下的安装过程及问题小记 一.eclipse安装过程 首先确保在安装eclipse之前已经安装好Java虚拟机 1. eclipse官网下载压缩包 下载地址:ht ...
- 学习ExpressionTree(做装配脑袋出的练习题)
1 // 第一题:画出下列表达式的表达式树.一开始,您很可能不知道某些操作其实也是表达式(比如取数组的运算符a[2]),不过没有关系,后面的习题将帮你验证这一点. //-a ParameterExpr ...
- android 源码编译 问题 列表
转自:http://www.cnblogs.com/xilinch/archive/2013/04/02/2996359.html make: *** [out/host/linux-x86/obj/ ...
- linux 网络编程:客户端与服务器通过TCP协议相互通信 + UDP
1.TCP编程的客户端一般步骤: 1.创建一个socket,用函数socket(): 2.设置socket属性,用函数setsockopt():* 可选: 3.绑定IP地址.端口等信息到socket上 ...
- 异常:failed for object com.sdu.crm.pojo.Customer@136a986 [java.lang.NullPointerException]
异常: failed for object com.sdu.crm.pojo.Customer@136a986 [java.lang.NullPointerException] 大家好,如果大家看到了 ...
- ADO.NET—两种连接模式
一.ADO.NET简介 ADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据.用来访问数据库,.NET环境下首 ...
- Android ListView多布局讲解
Listview优化是一个老生常谈的事情了,其优化的方面也有很多种,例如,布局重用.在getView()中减少逻辑计算.减少在页面滑动的时候加在图片,而是在页面停止滚动的时候再加在图片.而今天要介绍的 ...
- 【转】double-array trie 译文+心得
原文:http://blog.csdn.net/zzran/article/details/8462002 概论 下面将呈现一种新的内部数组结构,它便是double-array.double-arra ...