Python字典与集合的增删改查

本文详细介绍了Python中字典和集合的基本概念、创建方法、常用操作及集合运算等内容,帮助读者快速掌握这两种数据结构的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、字典(dict)

1.1 字典的创建

1.2 字典值的查询

1.3 字典值键值对的增加

1.4 字典键值对的删除

二、集合(set)

2.1 集合的创建

2.2 集合的增加与删除

2.3 集合间的运算


一、字典(dict)

字典是以键值对(key_vaule)的方式存在;两者是一种映射关系。

1.1 字典的创建

键值对({键 :值})

字典使用{}:

 字典名 = {键 :值,键1:值1,键2 :值2,键3 :值3……}

代码:

 grade = {'Chinese':99 , 'Math':100}
 print(grade)
 ​
 grade1 = {'Chinese':98 ,
          'Math':150 ,
          'English':99}
 print(grade1)

字典的键是唯一不可变的, 不可修改 ;字典的键可以是数字 , 字符串 。

字典值(value)可以是任意(Python支持的)数据类型

当字典中的键重复了,原有的值将会被覆盖掉

字典的输出

 字典名[key]
 print(name['姓名'])

1.2 字典值的查询

字典与前面的有序序列的区别就是,字典不可以通过下标查询

通过键(key)查询

get :通过键名获得值 如果键不存在,就会返回None

语法格式:

 字典名[key]
 字典名.get(key)

示例:

 name = {'姓名':"嫌水摸鱼" , '年龄':99 , '联系地址':"北极"}
 print(name['联系地址'])
 北极
 print(name.get('年龄'))
 99
 print(name.get('性别'))
 None

格式:

 字典名.keys()
 字典名.values()
 字典名.items()

代码

 print(name.keys())  #获得字典中所有的键
 print(name.values())    # 获得字典中所有的值
 print(name.items()) #获得字典中所有的键值对

1.3 字典值键值对的增加

格式:

 字典名[key] = 值

当键存在时,将会修改原有的值 ,把原有的值覆盖掉

setdefault ( ) 方法

 字典名.setdefault ( 键 ,值) 

当键存在时,不会对其进行任何修改

当值没有进行传递时。会默认为None

代码:

 name['性别'] = '男'
 print(name)
 ​
 name.setdefault('身高',178)
 print(name)

update( ) 方法

即可增加也可以修改,并且一次可以多个个值的增加

格式:

 字典名.update({键 :值,键1:值1})

当键存在是,将对原有的值进行修改

代码:

 name.update({'身高':179 ,'体重':73.5})
 print(name)
 ​
 name.update({'身高':181})
 print(name)

1.4 字典键值对的删除

pop 方法:删除指定的键

 字典名.pop(key)

popitem( ) 删除一个键值对 (有些版本是删除最后一个)

 字典名.popitem()

clear 清空字典

 字典名.clear()

del

 del 字典名[key]

本质:用更好的方式对数据进行存储 ,有可以对数据进行解释说明的内容;有较好的可读性。

二、集合(set)

在python中集合的概念跟中学数学集合的概念是一致的。

集合的特性:无序性 , 唯一性。

2.1 集合的创建

格式:

 集合名 = {元素 , 元素 , 元素……}

集合的元素不可以是列表 , 集合的本身的可变的,但是集合里面的元素是不可变的。

创建空集合使用set()

示例:

 A = {99 , '嫌水摸鱼' , 89 , True , ('天天向上' , 56)}
 print(A)
 ​{True, ('天天向上', 56), 99, '嫌水摸鱼', 89}

 B = {1 ,2 ,12 ,1 ,2 ,3 ,4 ,1 ,1,1,1,1}
 print(B)
 {1, 2, 3, 4, 12}

 c = set()
 print(type(c))
 <class 'set'>

 D = set({'爸爸','爷爷','摩托'})
 print(D)
 {'爷爷', '摩托', '爸爸'}

2.2 集合的增加与删除

add()方法

格式

 集合名.add(元素)

代码:

 E = {15 , 1 , 52 , 5 , 1 ,6}
 E.add(666)
 print(E) 
 {1, 5, 6, 15, 52, 666}

remove()方法

格式:

 集合名.remove(元素)
E = {15, 1, 52, 5, 1, 6}
E.remove(1)
print(E)
{5, 6, 15, 52}

discard()方法

 集合名.discard(元素)

当删除的元素不存在,不会报错

E = {15, 1, 52, 5, 1, 6}
E.discard(13)
print(E)

{1, 5, 6, 15, 52}

 

2.3 集合间的运算

集合在编程中的运算符:

符号含义
&交集 ,获得两个集合的公共元素
|并集 ,获得两个集合的全部元素
-差集,获得前面集合在后一个集合中没有的元素
^对称差集,获得两个集合除公共元素外的所有元素(并集-交集)

代码:

 a = {2,5,18,6,1,4,8}
 b = {4,5,35,6,1,8}
 ​
 print(a & b) # & shift + 7 计算交集
 print(a | b) # & shift + \  计算并集
 print(a - b) # 计算差集
 print(a ^ b) # & shift + 6  计算对称差集

 {1, 4, 5, 6, 8}
 {1, 2, 35, 4, 5, 6, 8, 18}
 {2, 18}
 {2, 35, 18}
 ​

本质:存储非重复的数据. 去重

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值