python基础知识打卡第六天——集合和字典的用法

集合和字典的用法

1、集合

1.1、创建集合

创建集合使用{} 或set() , 但是如果要创建空集合只能使用set() ,因为{} 是用来创建空字典的。

s1 = {10, 20, 30, 40, 50}
print(s1)
s2 = {10, 30, 20, 10, 30, 40, 30, 50}
print(s2)
s3 = set('abcdefg')
print(s3)
s4 = set()
print(type(s4)) # set
s5 = {}
print(type(s5)) # dict
  • 集合的特点:
  1. 集合可以去掉重复数据;
  2. 集合数据是⽆无序的,故不不⽀支持下标
1.2、增加数据
  • add()
s1 = {100, 200}
s1.add(300)
s1.add(100)
print(s1) # {200, 100, 300}

注意:因为集合有去重功能,所以,当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作。

  • update(), 追加的数据是序列。
s1 = {100, 200}
# s1.update(100) # 报错
s1.update([10, 20])
s1.update('abc')
print(s1)
1.3、删除数据
  • remove(),删除集合中的指定数据,如果数据不不存在则报错。
s1 = {100, 200}
s1.remove(100)
print(s1)
s1.remove(10) # 报错
print(s1)
  • discard(),删除集合中的指定数据,如果数据不存在也不会报错。
s1 = {100, 200}
s1.discard(100)
print(s1)
s1.discard(100)
print(s1)
  • pop(),随机删除集合中的某个数据,并返回这个数据。
s1 = {10, 20, 30, 40, 50}
del_num = s1.pop()
print(del_num)
print(s1)
1.4、查找数据
  • in:判断数据在集合序列列
  • not in:判断数据不不在集合序列列
s1 = {10, 20, 30, 40, 50}
print(10 in s1)
print(10 not in s1)

2、字典

字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。

2.1 创建字典

字典特点:

  • 符号为大括号
  • 数据为键值对形式出现
  • 各个键值对之间用逗号隔开
    一般称冒号前面的为键(key),简称k;冒号后面的为值(value),简称v
# 有数据字典
dict1 = {'name': '小王', 'age': 20, 'gender': '男'}
# 空字典
dict2 = {}
dict3 = dict()
2.2 增加数据

写法:字典序列[key] = 值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。

dict1 = {'name': '小张', 'age': 20, 'gender': '男'}
dict1['name'] = 'Rose'
# 结果:{'name': 'Rose', 'age': 20, 'gender': '男'}
print(dict1)
dict1['id'] = 110
# {'name': 'Rose', 'age': 20, 'gender': '男', 'id': 110}
print(dict1)
2.2 删除数据
  • del() / del:删除字典或删除字典中指定键值对。
dict1 = {'name': '小王', 'age': 20, 'gender': '男'}
del dict1['gender']
# 结果:{'name': '小王', 'age': 20}
print(dict1)
  • clear():清空字典
dict1 = {'name': '小王', 'age': 20, 'gender': '男'}
dict1.clear()
print(dict1) # {}

2.3修改数据

写法:字典序列[key] = 值
注意:如果key存在则修改这个key对应的值 ;如果key不存在则新增此键值对。

2.4查询
  • key值查找
    如果当前查找的key存在,则返回对应的值;否则则报错
dict1 = {'name': '小王', 'age': 20, 'gender': '男'}
print(dict1['name']) # 小王
print(dict1['id']) # 报错
  • get()
    如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。
    语法: 字典序列.get(key,默认值)
dict1 = {'name': '小王', 'age': 20, 'gender': '男'}
print(dict1.get('name')) # 小王
print(dict1.get('id', 110)) # 110
print(dict1.get('id')) # None
  • keys()
dict1 = {'name': '小王', 'age': 20, 'gender': '男'}
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])
  • values()
dict1 = {'name': '小王', 'age': 20, 'gender': '男'}
print(dict1.values()) # dict_values(['小王', 20, '男'])
  • items()
dict1 = {'name': '小王', 'age': 20, 'gender': '男'}
print(dict1.items()) # dict_items([('name', '小王'), ('age', 20), ('gender',
'男')])
2.5循环遍历
  • 遍历字典的key
dict1 = {'name': '小王', 'age': 20, 'gender': '男'}
for key in dict1.keys():
	print(key )
  • 遍历字典的value
dict1 = {'name': '小王', 'age': 20, 'gender': '男'}
for value in dict1.values():
print(value)
  • 遍历字典的元素
dict1 = {'name': '小王', 'age': 20, 'gender': '男'}
for item in dict1.items():
	print(item)#(‘name’,小王)。。。
  • 遍历字典的键值对
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key, value in dict1.items():
	print(f'{key} = {value}')#(name=小王。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值