一、字典
1.字典中的创建
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 。
dict = {'key1':'value1','key2':'value2','key3':'value3'}
键必须是唯一的,但值则不必,其中值可以取任何数据类型,但键必须是不可变的数据类型,如字符串,数字或元组。
dict.fromkeys(seq[, value])方法
用于创建新的字典,其中以序列seq中元素作为字典的键,value 为字典所有键对应的初始值,若没有定义初始值则为None。


2.访问字典中的键对应值
dict[key] :返回指定键的值,如果值不存在字典中报错。
dict.get(key, default=None) :返回指定键的值,如果值不在字典中返回默认值。
dict.setdefault(kek[,default=None]):返回指定键的值,与get()方法类似,但是如果键不存在,则会在字典中添加该键并将值设置为初始值。


3.以视图对象的形式返回字典中的值
dict.items():遍历字典中的所有值,并且以列表来返回字典值的元组数组,可用list()和tuple()函数将其转化为列表和元组。
dict.keys():返回字典中的所有键,可用list()和tuple()函数将其转化为列表和元组。
dict.values():返回字典中的所有值,可用list()和tuple()函数将其转化为列表和元组。


4.更新字典
dict[key] = values :更新key对应的值,如果key不存在,则添加key和values到字典中。
dict1.update(dict2):把dict2 的 key/value(键/值) 更新到字典 dict 1里面。
5.删
dict.clear():清空字典,与列表相似
del dict:删除字典
del dict[key]:删除键对应的值
pop(key[,default]):删除key对应的值,并且返回删除的值,如果可以不在字典内,则返回默认值。
popitem(): 随机返回并删除字典中的最后一对键和值。
6.函数
type(dict):返回输入的变量类型,如果变量是字典就返回字典类型。
str(dict):输出字典,以可打印的字符串表示。
len(dict):返回键的总数
key in dict:判断key是否存在字典中
二、集合
1.集合的建立(set)
集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合。注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。注:集合中元素为不可变类型数据(数字、字符串、元组)
s = {value1,value2....} s = set(value)
因为集合中不能有重复元素,所以创建集合时会去重,从定义来看用 s = {value1,value2....}的形式,里面的元组、数列将会作为一个元素出现,不能是字典;而用s = set(value) 的方法,会将里面的元素拆开,作为独立元素。如果set(dict),字典的key 将会作为集合中元素。


2.集合元素更新
x.add(values):添加单一元素到集合,可以是数字、字符串、元组,不能是列表、和字典

x.update():可以添加多个元素,如果是字符串、元组、列表、集合时,里面的元素将会被拆分,分别加入到集合中。如果是字典,则字典的键将会被加入到集合中。


3.删
s.remove(x):将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
s.discard(x) :与remove类似,但是元素不存在不会报错
s.pop():随机删除一个元素,并返回元素值
s.clear():清空集合中的元素
4.集合运算 (与数学中集合运算类似)
s1 - s2:s1 中存在,s2 中不存在的元素
s1.difference(s2,s3...) :方法:返回集合的差集,与减号(-)相同含义
s1.difference_update():与difference()方法一样,但是返回的差值赋值于s1

s1&s2 :s1 和 s2 中同时存在元素的集合 (交集)
s1.intersection(s2,s3..) :各个集合中同时存在的元素
s1.intersection_update(s2,s3..): 返回值赋值于s1

s1|s2:s1和s2中所有的元素(并集)
s1.union(s2,s2...) :合并所有的集合

s1^s2:s1和s2不同时存在的元素
s1.symmetric_difference(s2):返回两个集合不相同的元素。
s1.symmetric_difference_update(s2):返回两个集合不相同的元素,并将返回值赋值于s1

s1.isdisjoint(s2): 方法用于判断两个集合是否包含相同的元素(即:两个集合是否相交),如果没有返回 True,否则返回 False。
s1.issubset(s2):判断s1集合中元素是否包含于s2中,如果是则返回 True,否则返回 False。
s1.issuperset(s2):判断s1集合中元素是否包含s2中,如果是则返回 True,否则返回 False。
x in s 判断x元素是否存在于集合s中,如果存在则返回 True,否则返回 False。
网友评论