python中的数据结构比较
列表:list=[val1,val2]
1.列表中的每一个元素都是可变的,有序的,可以被查看索引的。
可变意味着可以对每个元素进行增删改查的操作,列表中的元素可以是Python中的任何对象
(1)创建列表的方法:
一.是用方括号[]直接赋值,赋一组以逗号隔开的值;
newlist=[1,2,3] print(newlist)#[1,2,3] print(type(newlist))#查看类型为:
二.是调用list函数进行定义。
tup=('q','w','e') print(type(tup))#change_tup=list(tup) print(type(change_tup))#
(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内置功能,
不是列表独有的
delchange_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) foriinenumerate(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
notin
(4)使用场景
去重
5.其他方法
1.查各个数据长度:
len(类型名)
2.数据类型是否可变
可变定义:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变
可变:列表,字典,集合
不可变:数字,字符串,元组
3.列表,元组,集合的解包
a,*b=[1,2,3]a=1,b=2,3 *a,b=[1,2,3]a=1,2b=3
以列表为列子,其他两种类型同理
4,列表,元组的合并和重复
l1=[1,2] l2=[3,4] print(l1+l2) print(l1*2)
总结
以上所述是小编给大家介绍的python中的数据结构比较,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。