python基础七:元组、字典、以及集合的使用

1、元组简介

1.1元组的基本概念

元组表现形式tuple()
元组是一个不可变序列(一般当我们希望数据不改变时,我们使用元组,其他情况下基本都用列表)
使用()创建元素,元组不支持通过序列来修改元素,可以查找,
元组不是空元组至少有一个 逗号(,) 当元组不是空元组时括号可以省略
元组解包指将元组当中的每一个元素都赋值给一个变量

1.2元组的解包

在对一个元祖解包的时候,变量的数量要和元祖中元素的数量保持一致
如果变量和元素不一致,也可以在变量前面加上一个 *。这样会获取元祖中剩余的元素,以列表形式返回。先给可以查找到的指定变量赋值,在将剩下的元素赋值给有*号的元素

2、字典简介

2.1字典的基本介绍

语法: {key:value,key:value…}
字典属于一种新的数据结构称为映射(mapping)
字典的作用和列表类似,都是用来存储对象的容器
列表存储数据的性能好,但是查询数据的性能差,字典正好与之相反
在字典中每一个元素都有唯一的名字,通过这个唯一的名字可以找到指定的元素
这个唯一的名字我们称之为key 通过key可以快速查询value 也可以称之为值
字典我们也称之为键值对(key-value)结构
每个字典中都可以有多个键值对,而每一个键值对我们称其为一项(item)
字典的值可以是任意对象 字典的键可以是任意的不可变对象(int str bool tuple…)
字典的键是不能重复的,如果出现重复的后面的会替换前面的

2.2字典的使用

2.2.1dict()函数来创建字典

d = dict(key=value,key=value…)
dict()函数也可以将一个包含有双值子序列转换为字典d = dict([(‘name’,‘钢铁侠’),(‘age’,35)])
双值序列:序列中有两个值eg[1,2] (1,2) 'ab’等
子序列:序列中的元素在另一个序列中就称这个元素为子序列[1,2,3](No)[(1,2),(3,4)]yes
len() 获取字典中键值对的个数
in 检查字典中是否包含指定的键 True / False
not in 检查字典中是否不包含指定的键

2.2.2get(key[,default]) 根据键来获取字典的值。第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值

可以根据键来获取字典当中的值,语法:d[key]
print(d.get(‘age’))
print(d.get(‘hello’,‘这个key值不存在’))
修改字典
d[key] = value
d[‘name’] = ‘葫芦娃’ # 修改字典中的key-value
d[‘phone’] = ‘123456789’ # 向字典中添加 key-value
setdefault(key,[default]) 向字典中添加 key-value
如果这个key已经存在于字典当中,则返回key值,不会对字典有任何的影响
如果Key不存在 则向字典中添加这个key 并设置value

2.2.3update() 将其他字典的key-value添加到当前的字典当中

d1.update(d2):将d2添加到d1当中去

2.2.4del 删除字典中的key-value

del dict[‘key’]

2.2.5popitem()随机删除字典中的一个键值对,一般是最后的一个key-value 这个方法是有返回值的。删除之后它会将删除的key-value作为返回值返回

result = d1.popitem()
print(result)

2.2.6pop(key[,default]) 根据key删除自定中的value。第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值

result = d1.pop(‘b’,‘这个key值不存在’)
result = d1.pop(‘b’)
d1.clear():清空字典

2.3copy()浅复制

只能复制第一层字典里的内容,子字典的内容如果修改了则不会跟着一起变

3、遍历字典

①d.keys() 该方法返回的是一个序列,保存的是字典中所有的键
②d.values() 该方法返回的是一个序列,保存的是字典中的值
③d.items() 该方法会返回字典中所有的项 。它返回的也是一个序列这个序列当中包含有双值子序列 双值就是字典中的key-value

4、集合

4.1集合简介

集合表现形式set 集合和列表非常相似
不同点
集合只能存储不可变对象 像字符数字等
集合中存储的对象是无序的
集合不能出现重复元素 出现了就会覆盖

使用{}来创建集合
可以通过set()来将序列和字典转换成集合
print(set(‘hello’))#{‘h’, ‘o’, ‘e’, ‘l’}
s = set({‘a’:1,‘b’:2,‘c’:3}) # 使用set()函数将字典转换为集合的时候,只会包含字典中的键
len() 使用len()来获取集合中元素的数量
add()像集合中添加元素
update()将一个集合中的元素添加到另一个集合当中
pop()随机删除集合中的一个元素一般是删除最后一个元素
remove() 删除集合中指定的元素
clear() 清空集合

4.2集合的运算

& 交集运算
| 并集运算
-差集运算
^ 亦或集:集合里面不相交的部分
<= 检查一个集合是否是另一个集合的子集:返回的是布尔类型
< 检查一个集合是否是另一个集合的真子集:返回的是布尔类型
/>=检查一个集合是否是另一个集合的超集:返回的是布尔类型
/>检查一个集合是否是另一个集合的真超集:返回的是布尔类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值