列表
python中使用最频繁的数据类型,列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至包含列表。
列表用[]标识,复合数据类型。
lista = []
print(type(lista))
listb=[1,2,3,4,10.5,'hello',8.4]#数组是固定数据类型的,列表是复合数据类型
print(listb)
listb.append(90) #追加元素
#java 数组 长度固定 类型固定
#pyhton列表 长度和类型都不固定
#列表切片,参考字符串切片
listc = [1,2,3,4,5,6,7,8]
print(listc[4]) #取 5
print(listc[-1]) #取 9
print(listc[-2:]) #取 7 8
print(listc[:3]) #取1 2 3
print(listc[-5:6]) # 4 5 6
列表嵌套列表
listd=[1,2,3,[1,2,3]]
print(listd[3][3])
列表函数
liste = [1,2,3,4,5]
liste.append(90)#末尾增加
print(liste )
liste.insert(1,80)#指定位置增加
print(liste )
liste.remove(2) #根据值删除元素
print(liste )
liste.pop(4)#不加参数默认删除最后一个元素,删除同时返回删除元素的值
print(liste )
print(liste.index(4))#求元素位置,索引
print(liste.count(4))#元素再列表中出现次数
liste.extend([100,101])#列表中追加元素
print(liste )
listf = [8,20,14,-3,6]
listf.reverse()#反转列表
print(listf )
listg = [8,20,14,-3,6]
listf.sort() #升序排序,并且列表中元素位置已经发生改变
print(listg )
列表的复制和克隆
listm = [1,2,3]
listn = listm #地址传递
listm.append(9) #地址指向同一个区域的值
print(listn )
#列表复制
listn = listm[:]#开辟值存放,值传递
元组
tuplea = (1,2,3)
print(type(tuplea))
与列表的区别,元组只能第一次赋值,赋值后支持查询,不能进行增删改。
数据源读取出来的数据,比如mysql、excel、txt配置文件不希望进行修改。
集合
集合是无序的由{}构成
seta={1,2,3}
print(type(seta))
#无法通过下标访问
#字符串转化为集合
setb = set('new') #set()强制转换函数
print(setb)
集合中常用一些方法
setd = {1,2,3,4,5}
setd.add(4.5)
print(setd)
setd.remove(1)
setd.pop()#随机删除元素 3.8应该是优化了
集合运算
a = set('holle word11')
b = set('holle232')
print(a - b)# 差集看谁是减数
print(b - a)
print(a|b)#展示并集
print(a&b)#展示交集
print(a^b)#展示ab中不存在的所有元素
应用:列表去重
lista = [1,2,3,4,5,2,1]
print(set(lista))
成员运算符
print('a' in {a,v,s,s})
空集合
lista= []
tupleb=()
setg={}#空字典
seta = set()#空集合
字典
列表有序,字典是无序的
dicta = {}
print(type(dicta))
dictb={'num1':90,'num2':80,'num3':[1,2,3],'num4':90,'num5':66.5}
#'num1':90 key键 value 值
print(dictb)
创建字典方法
dictc = dict()
dictd = dict ((['x',1],['y',2]))
dicte = dict(a=10,b=20,c='hello')
lista = ['num1','num2','num3']
dictf = {}.fromkeys(lista,10)
print(dictf)
字典数据的增删改查
#增加、修改
dictk = {}
dictk['n']=1
print(dictk)
#删除
del dictk['n']
#查询
print( dictk['n'])
字典常用方法
dictp = {'n1':10,'n2':100,'n3':60}
print(list(dictp .key())) #查key
print(list(dictp .values())) #查值
print(list(dictp .get('n1'))) #查n1
print(list(dictp .pop('n1'))) #删除n1
dictp.update({'n4':100,'n2':66}) #有则修改,无则新增
dictp.clear() #清空