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.集合 ...
随机推荐
- MVC应用程序请求密码的功能(二)
MVC应用程序请求密码的功能(二) 在完成<MVC应用程序请求密码的功能(一)>http://www.cnblogs.com/insus/p/3471534.html之后,如果你照着做,所 ...
- nhibernate+autofac+mvc的demo
想自己做一个小的demo.目的是能够提供一个系统架构,在这个基础上,可以快速开发一些小型的系统.
- 记一次有趣的互联网事件及console.log~
寂寞的中国互联网又一次瘫痪了. 说是顶级域的根挂了,不知道是黑客还是某个实习生干挂的. 反正到现在还没有人来解释这件事. 先普及一下,为什么顶级域的根挂了全中国都挂了. 那是因为dns解析的特点是递归 ...
- socket网络编程快速上手(二)——细节问题(5)(完结篇)
6.Connect的使用方式 前面提到,connect发生EINTR错误时,是不能重新启动的.那怎么办呢,是关闭套接字还是直接退出进程呢?如果EINTR前,三次握手已经发起,我们当然希望链路就此已经建 ...
- RDLC(Reportview)报表
你还可以再诡异点吗——SQL日志文件不断增长 前言 今天算是遇到了一个罕见的案例. SQL日志文件不断增长的各种实例不用多说,园子里有很多牛人有过介绍,如果我再阐述这些陈谷子芝麻,想必已会被无数次 ...
- 软件快速开发平台 WebBuilder 6.8
WebBuilder是一款开源的跨平台.数据库和浏览器的可视化Web应用快速开发平台.WebBuilder使用了多项最新的技术,使Web应用的开发更快捷和简单. 作为一款高效的Web开发工具,WebB ...
- 我的Emacs折腾经验谈(四) 也谈Yasnippet
又是好久没更新了,不过还好,现在慢慢有点感觉了,好长时间不写博客会心里有点感觉欠一点什么东西.觉得每次写了东西都往主页推搞得压力好大,以后就不往网站首页推了,纯留下来供参考,另外就是主要方便从搜索找过 ...
- 简单好用的Adapter---ArrayAdapter
简单好用的Adapter---ArrayAdapter 拖延症最可怕的地方就是:就算自己这边没有拖延,但对方也会拖延,进而导致自己这边也开始拖延起来!现在这个项目我这边已经是完工了,但是对方迟迟没有搞 ...
- error:“Unexpected namespace prefix "xmlns" found for tag LinearLayout”
错误“Unexpected namespace prefix "xmlns" found for tag LinearLayout”的解决方法 androidUnexpected ...
- 图像资源Images Assets
图像资源Images Assets 开始之前,首先回顾一下iOS7初体验(1)——第一个应用程序HelloWorld中的一张图,如下所示: 本文便分享一下Images.xcassets的体验~_~ 1 ...