Hi,小伙伴们大家好!今天我们来了解一下python语言的另外两种数据类型,Set集合与Dict字典。
首先我们先来讲解下字典,字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}中 ,格式如下所示:
dict1 = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
dict1 = {'ab':'1','b':'2','c':'3'} #正确用法
dict2 = {[1,2]:'1','b':'2','c':'3'} #错误用法,因为key是唯一且不可变的,而list类型的元素是可变的。
如果我们要获取某个字典中的键的值,我们可以通过以下方法:
方法1:dict1[key] #若没有对应键,将报错
方法2:dict1.get(key) #若没有对应键,不报错
例如:
dict1 = {'ab':'1','b':'2','c':'3'}
print(dict1['ab']) #输出结果--->1
print(dict1.get('d')) #我们可以看出并没有d这个key,所以将会报错
那如果我们想删除某个键值对呢,我们应该怎么操作?
方法1:dict.pop(key) #删除某个键值对
方法2:del dict1[key] #此方法属于python保留字中的del删除
关于python中还有很多关于字典的内置方法:
#删除字典内所有元素
dict.clear()
#返回一个字典的浅复制
dict.copy()
# 把字典dict2的键/值对更新到dict里
dict.update(dict2)
# 随机返回并删除字典中的最后一对键和值。
dict.popitem()
# 以列表返回可遍历的(键, 值) 元组数组
dict.items()
# 列表形式返回所有的key
dict.keys()
# 列表形式返回所有的value
dict.values()
# 如果键不存在于字典中,将会添加键并将值设为default
dict.setdefault(key, default=None)
Set集合
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { }或者 set()函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
set集合自带去重功能:
a = set('abracadabra')
b = set('alacazam')
print(a)
{'a', 'r', 'b', 'c', 'd'}
print(a - b) # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
print(a | b) # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
print(a & b) # 集合a和b中都包含了的元素
{'a', 'c'}
print(a ^ b) # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}
关于python中set集合的内置方法:
set1 = {"Google", "Runoob", "Taobao"}
# 添加元素
set1.add('rty') ----括号里传具体值
set1.update() ----括号里传具体值(值可为tuple,list,string,dict)
# 交互模式:两种类型都存在的交互
a = set(('ret','tgb','sed')) ---a经tuple类型转化后类型为set,但同时存在tuple类型
#移除元素
set1.remove( x ) ---括号里传具体值(移除的元素不存在的话会报错)
set1.discard(x) ---括号里传具体值(移除的元素不存在的话并不会报错)
set1.pop() ---括号里面传下标(括号不传值情况下,删除的是排序后的第一个元素)
# 清空元素
set1.clear()
# 判断元素是否在集合中
x in set1 ----x为一个变量
#返回多个集合的差集
set1.difference(set2,set3) ----括号里面传集合
以上均是set集合中比较常用的一些方法,set方法较多,下面是牟牟的一些笔记,同学们可以参考一下:
那么关于python的一些基本数据类型,我们就先了解这些,有什么不清楚的可以私信牟牟,牟牟会为大家进行解惑。后面我们将会慢慢接触一下python中的方法的定义,类的封装,控制语句的使用等!
关注下方公众号,更多学习资料等着你哦!