python学习数据结构部分

本文介绍了Python中的三种重要数据结构:列表、元组和字典。列表是有序的数据集合,支持增删改查,用[]表示;元组是不可变序列,用()创建,不可修改;字典是键值对组成的无序集合,用{}表示,通过键访问数据。
摘要由CSDN通过智能技术生成

列表学习

list:python当中非常重要的数据结构,是一种有序的数据集合
特点:
1:支持增删改查
2:列表中数据是可以变化的【数据项可以变化,内存地址不会改变】
3:用 []来表示列表类型,数据项之间用逗号来分割,注意:数据项可以是任何类型的数据
4:支持索引和切片来进行操作

#查找
listA=['abcd',785,12.23,'qiuzhi',True]
print(listA)
print(listA[0])
print(listA[1:3])
print(listA[2:])
print(listA[::-1])//倒序
listA.append()//追加
listA.exend([11,22,23])//扩展,批量增加
listA.insert(1,'这是我刚插入的数据')//插入操作,需要执行一个位置插入
listA[0]='fas'//修改操作
listB=list(range(100))
del listB[1,3]//批量删除多项数据 slice
listB.remove(5)//移除制定的元素 参数是具体的数据值
listB.pop(0)   //移除指定的项 参数是索引值
listB.index(19)//查找19 这个元素的索引位置
listB.index(19,20,25)//返回的是一个索引在指定的位置查找指定的值

元组

元组:是一种不可变的序列,在创建之后不能做任何的修改
1:不可变
2:用()创建元组类型,数据项用逗号来分割
3:可以是任何的类型
4:当元组中只用一个元素时,要加上逗号,不然解释器回当做整形来处理
5:同样可支持切片操作

tupleA=()
<class 'tuple'>
tupleA=('abcd',89,9.12,'peter',[11,22,33])
print(tupleA)
#元组的查询
for item in tupleA:
    print(item,end=' ')
print(tupleA[2])
print(tupleA[2:4])
print(tupleA[::-1])//表示反转字符串 每隔一个取一次
print(tupleA[::-2])//表示反转字符串 每隔两个取一次

print(tupleA[-2:-1:])#倒着取下标 为-2 到 -1 区间的
print(id(tupleA))
tupleA[4][0]=464545//可以对元组中列表类型的数据进行修改
tupleB=('1')//这里的trupleB类型是str类型
tupleB=('1',)


tupleC=tuple(1,23,44444,4)
print(tupleC.count(4))//统计4出现的次数
 

字典

字典:也是python中重要的数据类型,字典是有键值对 组成的集合,通常使用键来访问数据,
效率非常高,和list一样 支持对数据的添加、修改、删除

特点:
1:不是序列类型 没有下标的概念,是一个无序的 键值集合,是内置的高级数据类型
2:用{} 来表示字典对象,每个键值对用逗号分隔
3:键 必须是不可变类型【元组、字符串】值可以是任意的类型
4:每个键必定是唯一的,如果存在重复的键,后者会覆盖前者

dictA={}#空字典
dictA['name']='李易峰'#key:value
dictA['age']=30
dictA['pos']='歌手'
dicA={'pro':'艺术''school':'北京电影学院'}
print(dictA)
print(len(dictA))
print(dictA['name'])#通过键获取对应的值
dictA['name']='谢霆锋'#修改键对应的值
dictA['school']='香港大学'

#获取所有的键
print(dictA.keys())
#获取所有的值
print(dictA.values())
#获取所有的键和值
print(dictA.items())

for key,value in dictA.items()print('%s==%S'%(key,value))


#修改
dictA.updata({'age':32})//可以添加或者更新
#删除操作
del dictA['name'] #通过指定的键删除
delA.pop('age')   #
print(dictA)

#如何对字典进行排序
sorted(dictA.items(),key=lambda d:d[0])//按照键进行排序
sorted(dictA.items(),key=lambda d:d[1])//按照值进行排序 注意这里后面的类型要保存一致

合并操作+

str1='人生苦短'
str2='我用python'
str1+str2
list1+list2

复制*

print(str1*3)//输出-->人生苦短人生苦短人生苦短
print(listA*3)

in:对象是否存在 结果是一个bool值

print('我' in str1) #False
print(9 in listA)# False
print('name' in dictA)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值