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.集合 ...
随机推荐
- iOS基础 - Modal展示控制器
一.利用Modal形式展示控制器 1.如何展示 // vc就是要展示的新控制器 [self presentViewController:vc animated:YES completion:^{ NS ...
- hadoop大数据处理之表与表的连接
hadoop大数据处理之表与表的连接 前言: hadoop中表连接其实类似于我们用sqlserver对数据进行跨表查询时运用的inner join一样,两个连接的数据要有关系连接起来,中间必须有一个 ...
- UISearchDisplayController UISearchBar
分组表+本地搜索 UISearchDisplayController UISearchBar 的使用 效果图 @interface CityListViewController :UIViewCon ...
- 关于iOS UIScrollView放大的问题
总所周知 ,iOS 的UIScrollView是专门用来做缩放和分页用的,关于这方面的例子也很多了,但你们知道在放大的过程中 他做了些什么吗? 他的哪些东西会发生改变吗? 通过在一个项目中的小经历 ...
- ios缩放图片
http://blog.csdn.net/yanfangjin/article/details/7456681
- 获取Portal中POWL程序的APPLID
获取Portal中POWL程序的APPLID 今天做练习的时候跟 Leader 学了一招,当不知道集成在 Portal 中 POWL 程序的 APPLID 的时候,可以在类 CL_POWL_MODEL ...
- iOS 开发之Target-action模式
Target-action:目标-动作模式,它贯穿于iOS开发始终.但是对于初学者来说,还是被这种模式搞得一头雾水. 其实Target-action模式很简单,就是当某个事件发生时,调用那个对象中的那 ...
- Arduino 各种模块篇 蓝牙模块 手机蓝牙控制Arduino LED灯
解决方案. 条件: 1.手机android 商店下载 blueTerm 2.向arduino中载入如下代码: char val; ; void setup() { Serial.begin(); pi ...
- struts2中token的令牌机制
通常在普通的操作当中,我们不需要处理重复提交的,而且有很多方法来防止重复提交.比如在登陆过程中,通过使用redirect,可以让用户登陆之上重定向到后台首页界面,当用户刷新界面时就不会触发重复提交了. ...
- 让C#、VB.NET实现复杂的二进制操作
VB.NET和C#属于高级语言,对二进制位操作的支持不是很好,比如没有了移位运算等,用的时候确实很不方便,所以在闲暇之余我重新封装了一个用于C#.VB.NET的位操作类库,通过该类库可以实现数据移位. ...