python的几种数据结构(python中的数据结构比较)
python的几种数据结构
python中的数据结构比较列表: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中的数据结构比较,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!原文链接:https://segmentfault.com/a/1190000019152228
- 聊天室python小程序(用Python写一个模拟qq聊天小程序的代码实例)
- python创建列表并查询(python列表使用实现名字管理系统)
- python代码如何进行切片索引(Python读取Pickle文件信息并计算与当前时间间隔的方法分析)
- python语言案例教程单元测试(Python单元和文档测试实例详解)
- pythonpandas操作拆分excel(Python使用pandas和xlsxwriter读写xlsx文件的方法示例)
- python怎么用pandas读取两列数据(python 利用pandas将arff文件转csv文件的方法)
- python整型可以用什么表示(实例介绍Python中整型)
- python提取json数据(Python爬取数据保存为Json格式的代码示例)
- pythondjango工作机制(Python后台开发Django会话控制的实现)
- python爬网验证码在哪里(详解python 爬取12306验证码)
- python图书馆管理系统源码(python实现图书借阅系统)
- pythonssh登录服务器(对python 通过ssh访问数据库的实例详解)
- python中的pandas功能(Python常见的pandas用法demo示例)
- python 简单算法(python实现爬山算法的思路详解)
- python设计一个聊天机器人(手把手教你使用Python创建微信机器人)
- python冒泡排序代码通俗理解(详解python算法之冒泡排序)
- 来了 成都轨道交通5条线路刷新 进度条(成都轨道交通5条线路刷新)
- 一部手机两套系统 OPPO Find X3的正确打开方式你知道吗(一部手机两套系统)
- OPPO用户看过来 汇总几个春节实用技巧,轻松搞定多设备联动玩法(汇总几个春节实用技巧)
- 北京旅游攻略(北京旅游攻略5日游及其花费)
- 四川旅游攻略(四川旅游攻略自由行攻略)
- 上海迪士尼攻略(上海迪士尼攻略旅游)
热门推荐
- html中table怎么用(详解CSS的table-layout属性的用法)
- sqlserver 查询锁(sqlserver:查询锁住sql以及解锁方法)
- SQL replace的使用方法
- dedecms首页布局(dedecms实现列表页缩略图随机调用的方法)
- smart工具包括哪些元素(Smarty模板语法详解)
- html5添加背景(Html5实现首页动态视频背景的示例代码)
- python序列化图解(对Python3 序列解包详解)
- dede优化教程(DEDE调用分类及分类下文章并限制标题字数及显示条数)
- mysqldump备份缺点(MySQL5.7 mysqldump备份与恢复的实现)
- 微信小程序开发如何实现自动保存(微信小程序开发实用技巧之数据传递和存储)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9