python中的数据结构比较


Posted in Python onMay 13, 2019

列表:list=[val1,val2]

1.列表中的每一个元素都是可变的,有序的,可以被查看索引的。

可变意味着可以对每个元素进行增删改查的操作,列表中的元素可以是Python中的任何对象

(1)创建列表的方法:

  一.是用方括号[]直接赋值,赋一组以逗号隔开的值;            

newlist=[1,2,3]
  print(newlist) #[1, 2, 3]
  print(type(newlist)) #查看类型为:<class 'list'>

     二.是调用list函数进行定义。     

tup=('q','w','e')
  print(type(tup)) #<class 'tuple'>
  change_tup=list(tup)
  print(type(change_tup))#<class 'list'>

(2)增加操作

   一.通过append方法,可以将元素添加到列表的末尾  

change_tup.append('f')
 print(change_tup) #['q', 'w', 'e', 'f']

   二.利用insert可以将元素插入到列表的指定位置   

change_tup.insert(0,'a')
 print(change_tup) #['a', 'q', 'w', 'e', 'f']

  三.extend将指定序列的元素依次追加到列表的尾部(合并),

   不会去重复内容

addlist=['b','c','a']
 change_tup.extend(addlist)
 print(change_tup) #['a', 'e', 'f', 'b', 'c', 'a']

(3)删除操作

   一.pop用于删除除并返回指定索引处的元素   

change_tup.pop(1)
 print(change_tup) #['a', 'w', 'e', 'f']

   二.remove用于按值删除元素,它找到第一个符合要求的值

   然后将其从列表中删除

change_tup.remove('w')
 print(change_tup) #['a', 'e', 'f']

   三.del删除整个列表或列表的数据,del 是 python 内置功能,

   不是列表独有的                            

del change_tup[-1]
 print(change_tup)#['a', 'e', 'f', 'b', 'c']

(4)查找操作

index(元素名):获取查询元素在列表中的索引值
count(元素名):统计某元素在列表中出现的次数
if 某元素 in 列表名:判断某元素是否在列表内

(5)修改操作

list[index] = value
reverse():反转列表
sort():从原列表上按从小到大排序
sorted(列表名)生成新列表按从小到大进行排序

(6)特殊操作

max(列表名):最大值
min(列表名):最小值   

字典:dict={key1:val1,key2:val2}

1.字典中的值是可变的,无序的。
2.字典中的数据必须以键值对的形式出现
3.键不可重复,值可重复
4.字典中键(key)是不可变的,为不可变对象,不能进行修改;而值(value)是可以修改的,可以是任何对象。

(1)增加操作

变量名[key]=value 通过 key 添加 value 值,如果 key 存在则覆盖
setdefault(key,default_value) 指定 key 和 value,如果 key 存在则覆盖

(2)删除操作

pop 弹出,返回并删除指定键对应的值
popitem 随机弹出一个键值元组,这里随机的原因是因为字典无序
clear 清空字典

(3)修改操作

变量名[key]=value 通过 key 添加 value 值,如果 key 存在则覆盖
update() 传递一个字典,如果 key 相同则覆盖,没有的 key 则添加

(4)查找操作

keys 返回一个包含字典所有 key 的列表
values 返回一个包含字典所有 vaule 的列表
get 以键取值,如果指定键不存在,默认返回 None,可以指定返回内容
update 以字典格式更新指定键的内容,如果键不存在,创建键和值
items 返回字典键值呈元组形式的格式

元组:tuple=(val1,val2)

1.元组是不可修改,但可以被查看索引的
2.空的tuple可以记为(),若只有一个元素的tuple记为(1,)

(1)枚举

遍历的时候使用:重新生成下标和元素的元组

t=(1,2,3)
for i in enumerate(t):
 print(i)#(0, 1)(1, 2)(2, 3)

(2)查找操作

index(元素名) 从左往右返回第一个遇到的指定元素的索引,如果没有,报错
count(元素名) 返回元组当中指定元素的个数

(3)应用场景

字符串格式化需要使用元组
函数返回多个返回值时返回的是元组类型
一些内置函数的返回值是元组类型

集合:set={val1,val2}

1.集合中是不可变的,无序的。
1.集合更接近数学上集合的概念。集合中每个元素都是无序的、不重复的任意对象。
2.集合不能被切片,不能被索引,除了做集合运算之外,集合元素可以被添加和删除。

(1)增加操作

add(elem)
update([elem]/(elem)/'elem')

(2)删除操作

remove(elem)
discard(elem)
pop()
clear()

(3)查找操作

in
not in

(4)使用场景

去重

5.其他方法

1.查各个数据长度:

len(类型名)

2.数据类型是否可变

可变定义:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变
可变:列表,字典 ,集合
不可变:数字,字符串,元组

3.列表,元组,集合的解包

a,*b = [1,2,3] a=1,b=2,3
*a,b = [1,2,3] a=1,2 b=3

以列表为列子,其他两种类型同理

4,列表,元组的合并和重复

l1=[1,2]
l2=[3,4]
print(l1+l2)
print(l1*2)

总结

以上所述是小编给大家介绍的python中的数据结构比较,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python使用any判断一个对象是否为空的方法
Nov 19 Python
Python程序中的观察者模式结构编写示例
May 27 Python
python字符串string的内置方法实例详解
May 14 Python
django session完成状态保持的方法
Nov 27 Python
解决新django中的path不能使用正则表达式的问题
Dec 18 Python
python把转列表为集合的方法
Jun 28 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 Python
哪些是python中web开发框架
Jun 17 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
Jan 06 Python
利用python+request通过接口实现人员通行记录上传功能
Jan 13 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
Mar 04 Python
Python中函数的基本定义与调用及内置函数详解
May 13 #Python
python实现弹跳小球
May 13 #Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 #Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 #Python
Python实现插入排序和选择排序的方法
May 12 #Python
Python中将两个或多个list合成一个list的方法小结
May 12 #Python
python实现海螺图片的方法示例
May 12 #Python
You might like
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
Google AJAX 搜索 API实现代码
2010/11/17 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
javascript实现简单查找与替换的方法
2015/07/22 Javascript
Bootstrap每天必学之折叠(Collapse)插件
2016/04/25 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
[01:01:36]Optic vs paiN 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
深圳茁壮笔试题
2015/05/28 面试题
应届生自我鉴定
2013/12/11 职场文书
周鸿祎:教你写创业计划书
2013/12/30 职场文书
四议两公开实施方案
2014/03/28 职场文书
2014年五四青年节活动方案
2014/03/29 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
纪检监察立案决定书
2015/06/24 职场文书
Python+Appium新手教程
2021/04/17 Python