python中的序列:字典、集合

1.字典

字典是键值对的无序可变序列
字典中的每个元素都是一个键值对,包含:“键对象”和“值对象”
键是任意不可变数据,如:整数、浮点数、字符串、元组。

1.1 字典的创建

1.通过[}, dict()来创建字典

a={‘name’:'ju’,'age'=18}#创建字典a
a=dict([('name','ju'),('age',18)])#创建字典a
b={}#空字典
b=dict()#空字典

2.通过zip()创建字典

k=['name','age','job']#创建列表k作为键
v=['ju',18,'lawyer']#创建列表v作为值
d=dict(zip(k,v))#创建字典d

3.通过fromkeys创建值为空的字典

a=dict.fromkeys(['name','age','job'])#其中三个键对应的值均为None

1.2 字典元素的访问

设定一个下列公用的字典对象

a=['name':'ju','age':18,'job':'lawyer']

1.通过键获得值,若键不存在,抛出异常

a['name']#获取字典a中name键对应的值ju

2.通过get()方法获取值
在该方法中,若键不存在,则返回None,也可以设定指定键不存在时默认返回的对象。

a.get('name')#获取字典a中name键对应的值ju
a.get('ddd','不存在')#当字典a中不存在键为ddd时,返回指定值字符串不存在

3.列出所有键值对

a.items()#列出字典a中所有键值对
a.keys()#列出字典a中所有的键
a.values()#列出字典a中所有的值
len(a)#计算字典a中键值对的个数

4.检测一个键是否在该字典中

'name' in a#返回布尔值,判断name是否是字典a中的键

1.3字典元素的添加、修改、删除

1.给字典新增键值对,如果键已存在,则覆盖旧键值对

a['address']='人民广场'#字典a中没有键address,因此a中新增该键值对
a['age']=16#字典a中键age对应的值修改为16

2.使用update()
update()可以将新字典中所有键值对全部添加到旧字典对象上,如果键有重复,则直接覆盖。

b={'money':1000,'sex':'alpha'}#字典b
a.update(b)#字典b中的键值对添加到字典a中

3.字典中的元素删除
del():删除指定键值对
clear()删除所有键值对
pop()删除指定键值对并反返回对应“值对象

a.claer()#清空字典a
del(a['name']#删除字典a中name的键值对
b=a.pop('age')

4.popitem()
随机删除和返回该键值对
使用格式:

b=a.popitem()

1.4 序列解包

可用于元祖、列表、字典,可以方便地对多个变量赋值

x,y,z=(20,30,50)#对xyz进行赋值,x=20,y=30,z=50
(a,b,c)=(10,20,30)
[a,b,c]=[10,20,30]

序列解包用于字典时,默认是对键进行操作

name,age,job=a#将字典a中的三个键依次赋值到三个变量中
name,age,job=a.values()#将字典a中的三个值依次赋值到三个变量中
name,age,job=a.items()#将字典a中的三个键值对以元组的形式依次赋值到三个变量中

2. 集合

集合无序,可变,不能重复。
集合底层是字典实现,集合的所有元素都是字典中的键对象。

2.1 集合的创建和删除

1.使用{}创建集合对象

a={3,5,7}

2.使用add()方法添加

a.add(9)#添加元素,a={3,5,7,9}

3.使用set()将列表,元组等可迭代对象转换成集合,如存在重复数据,则只保留一个

b=set(a)

4.remove()删除指定元素,clear()清空集合元素

a.remove(20)#删除指定元素
a.clear()#清空集合a

2.2 集合相关操作

a|b#取并集
a&b#取交集
a-b#取差集
a.union(b)#并集
a.intersection(b)#交集
a.difference(b)#差集
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值