字典
字典也是一种容器类型的数据类型(序列),存的数据是以键值对的形式出现的
字典中的元素全部都是键值对。
字典是可变的(可以增删改),但是无序的(不能使用下标)
键值对:键:值(key:value) 键值对中key是形式,值才是真正存的内容
键理论上可以使任何不可变的数据类型,实际开发一般使用字符串作为key。
值:可以使任何数据类型,且是唯一的
dict = {key1:value,key2:value,key3:value}
1.声明一个字典
a.dict1 = {}//创建一个空的字典
dict2 = {'a':1,'b':2,'c':3}
b.将其他数据类型转换为字典,只有列表中元素是元组才能转换,其他数据类型不行
dict3 = dict([(1,2),(3,4)])
2.字典的增删改查
a.查:获取字典元素的值,字典获取元素的值是通过key来获取的,
如果key不存在,会报错
b.get(key):如果key不存在,会返回none
dict1 = {'a':1,'b':2,'c':3}
print(dict1.get('a'))
注意:如果key值存在,使用dict[key],如果不确定使用get(key)
2.1 字典的增加修改元素:通过key获取字典元素的值,然后赋值。当key存在,就是修改元素的值,当key不存在就是给字典添加元素
a.修改:dict[key] =value key值在字典中存在
b.增加:dict[key] = value key值在字典中不存在,增加键值:元素
c.删除:del dict[key]删除字典某个键值对 del dict 删除字典。如果key不存在会报错 KeyError
dict.pop(key)删除,会返回被删除的键值对对应的值
3.相关的数组属性
a.keys: dict.keys()获取字典中所有的键值,返回dict_keys([键值])
b.values:dict.values()获取字典中所有的元素,返回dict_values([值])
c.items:将字典中所有的键值对转换为一个元组,key作为元组的第一个元素,value作为元组的第二个元素。
4.遍历字典
通过for循环用变量直接取字典的值
for x in dict:
print(x,dict[x])
通过for循环直接获取key和value,但不推荐这种,因为耗CPU资源
for x,y in dict.items():
print(x,y)
5.字典的应用:列表中有字典、字典中有字典、字典中有列表
6.字典的其他操作
key in 字典:判断字典中是否存在指定的key
update:字典1.update(字典2):使用字典2的键值对去更新字典1中的键值对,如果字典2中对应键值对在字典1中不存在,就添加。存在就更新字典2中对应键的值
元组
1.元组:元组就是不可变得列表,列表中除了可变的操作以外,其他的操作都适用于元组
元组值:a.使用()将元素包含起来,多个元素间用,隔开
b.元素的类型可以是任何类型
c.当元组的元素只有一个时:表示方法:a=(10,)
2.改、增、删相关操作不能作用于元组,但查可以
a.获取单个元素,tuple[下标]
b.获取多个元素,tuple[index1:index2:index3]切片
//通过过个变量分别获取元组的元素(变量个数和元组个数一样)
c.names = ('a','b')
x,y = names
print(x,y)--->a b
d.获取元组首尾中间的元素 midel表示获取不定长的元素,不加表示获取一个
nums = [1,2,3,4]
first,midel,last = nums
print(first,midel,last) -->1 [2,3] 4
num1,num = nums -->[1,2,3] 4//num1获取元组前面所有的元素,num获取最后一个
num1,num = nums -->1 [2,3,4]//num1获取元组第一个,num获取元组后面所有的
注意:变量名前加号可以把变量变成列表,获取多个元素。
3.获取长度:len(tuple)
4.in 、not in:查找元素是否在tuple元组中
5.+、*操作:组合与重复
6.min、max:min(tuple)\max(tuple)
集合
集合也是一种容器类型的数据类型(序列),数据放在{}中,多个数据之间用,隔开
{1,2,3,4,5,a,v,c}
a.集合是无序的,不能通过索引取值,可以增删改
b.元素不能重复
1.怎么声明集合
a.声明一个变量,赋一个集合值
set1 = {1,2,3,a,b,d}
b.将其他的数据转换为集合,自带一个去重的功能
c.创建空集合,不能使用 变量名= {},因为这是一个空字典
set1 = set() //空集合的创建
2.增删改查
查:遍历:for x in set:
print(x)
注意;集合因为无序,所以不能通过下标获取单个元素
增:a.set.add(元素):增加一个指定的元素
b.set1.update(set2):将集合2的元素更新到集合1中,自动去重
删:set.remove(元素):删除集合指定的元素
set.pop():因为集合无序,所以随机删除(一般不用)
3.集合可以进行数学中集合相关操作,判断包含,求交集、并集、差集
集合1>=集合2--判断集合1是否包含集合2
集合1<=集合2--判断集合2是否包含集合1
set1 = {1,2,3,4}
set2 = {2,3,5}
print(set1>=set2) --->False
print(set1<=set2) --->False
4.集合的数学运算
a.求并集:| 集合1 | 集合2
b.求交集:& 集合1 & 集合2
c.求差集:- 集合1 - 集合2
d.求补集:^ 集合1 ^ 集合2
set1 = {1,2,3,4,5}
set2 = {1,23,'a','v','c'}
print(set2|set1)
print(set1&set2)
print(set1 - set2)
print(set2^set1)
5.set.clear():清空集合
6.len(set):获取集合长度
网友评论