目录
例题:dic={1:11,2:11,3:33} 求字典中指定值的个数
字典
字典是python其中的一种数据类型,它是由键值对的方式进行存储的。
如果访问了不存在的键就会报错。
其中键是不可以重复的,如果重复,后者会替代前者。
值是可以重复的。
例:
di={‘one’:1,‘two’:2,‘three’:3}
键 : 值 #键:不可以重复 值:可以重复
字典的值没有限制、但是键存在一定的规则:
1、键是不可变的,所以可以使用数字、字符串、元组。
2、列表是可变数据,不能作为键使用。
3、如果访问了不存在的键就会报错。
创建字典:
1、所需元素少的可直接用定义的方式创建:
dic={1:11,2:22}
2、fromkeys:引用列表作为字典的键使用
a=['one','two','three']
dic={ }.fromkeys(a,"ok") #将列表a作为字典dic的键使用
print(dic) #输出结果{‘one’:'ok',‘two’:'ok',‘three’:'ok'}
3、dict:通过列表创建字典
ls=[['小明','boy'],['小红','girl']]
dic=dict(ls)
print(dic) #输出结果为{‘小明’:‘boy’,‘小红’:‘girl’}
---------------------------------------------------------------------------------------------------------------------------------
访问字典
print(dic[1]) #通过键访问值。如果键不存在会报错
print(dic.get(1)) #如果键不存在,不会报错。会返回None
增加元素
方法一:
dic={1:11,2:22}
dic.[3]=33 #将键为3值为33的直接写进dic字典内
print(dic)
#输出结果为{1:11,2:22,3:33}
方法二:
update:既可以进行修改数据又可以添加。当字典内没有键值时,就会新添加键与值。字典内有键值时,就会修改值的参数。
dic.update({1:111,3:333,5:555})
print(dic)
#输出结果为{1:111,2:22,3:333,5:555}
删除元素
del dic[2] #根据字典dic内的键来删除
dic.pop(2) #根据字典dic内的键来删除
dic.popitem() #随机删除一个元素,通常是删除最后一个
dic.clear() #清空,全部删除
修改元素
修改的方法只有两种,除了以下的方式,还有上面我们讲到的update函数也可以对字典键值进行修改。
dic[1]=33 #通过键来修改
查询元素
ret=dic.keys( ) #查询dic字典内键的个数。返回值是keys类型数据。
print(2 in ret) #判断是否有指定的键,结果为True或Flace
ret=dic.values( ) #返回所有的键,返回值是values类型数据
ret=dic.items( ) #返回所有的键和值,返回items类型数据
-------------------------------------------------------------------------------------------------------------------------------------
例题:dic={1:11,2:11,3:33} 求字典中指定值的个数
答:
n=11
val=dic.values() #先获取所有的值
val=list(val) #把它转换成列表类型
count=val.count(n) #调用列表中count函数获取个数
print(f'字典中{n}有{count}个')
---------------------------------------------------------------------------------------------------------------------------------
集合
只能保存不可变的数据类型(数字、字符串、字节串、元组、布尔)。集合内的元素是不重复的。可通过其他类型与集合类型之间的转换,达到去重的目的。在实际的工作中,集合的作用主要用于给数据去重以及进行交并补的集合运算。
set:将其他的数据类型转为集合。
访问元素:由于集合不支持通过下标进行查询。所以需要通过循环访问或者类型转换的方式进行查看。
循环访问:for a in dic:
print(a) #将集合dic内的元素循环打印出来,查看的是全部元素。
转为列表类型访问:print(list(dic)[5])
#将集合dic转为列表类型并查看下标为2的元素。查看的是单个元素。
增加元素
se.add(1) #给se集合增加元素为1,当添加重复的值时只会保留一个。
删除元素
se.pop() #随机删除一个元素
se.remove(1) #删除指定元素
更改元素
修改元素的思路是先删除后再进行添加
例子:将se集合内1元素更改为11
se.remove(1) #先删除元素1
se.add(11) #新添加元素11
print(se) #打印输出
查询元素
跟更改元素的方法基本一致,都是先要对集合进行类型转换后,根据新转换的类型函数进行查询操作。