列表学习
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,2,3,4,44,4,4,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)