Python函数式编程5 列表、元组、集合、字典

列表

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()			#清空
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值