2022//06/19——Python之列表、集合、字典
1、集合
集合可以使用大括号{}或者set()函数进行创建,但是创建一个空集合必须使用set()函数,而不能使用{}。大括号是用来创建一个空字典。
Python语言提供的内置数据结构。其类型分为可变集set与不可变机frozenset两种;
与列表和字典一样,都属于可变序列,集合中的元素不可以重复并且无序,因为对象存在集合内是以哈希对象的形式存储的。
集合是没有value的字典,空集合的表示方法是set(),{}是空字典的表示方式。
集合类型与其他类型最大的区别在于其不包含重复元素,可以使用in/not in判断元素是否在集合内。
#集合创建方式一: set_1 = {"python","hello",80} print(set_1) #输出结果:{80, 'hello', 'python'} set_2 = {1,1,3,4,4,"python","python"} #集合中的元素不允许重复 print(set_2) #输出结果:{1, 3, 4, 'python'} set_3 = {1,2,2,(1,2,3,4),"python"} print(set_3) #输出结果:{1, 2, (1, 2, 3, 4), 'python'} set_4 = {1,2,2,[1,2,3,4],"python"} print(set_4) #代码报错:集合中的元素不允许为可变数据类型(可变序列)
#集合创建方式二:使用内置函数set():将字符串、列表、元组、range()等对象转化成集合 set_4 = set("python") print(set_4) #输出:{'y', 'o', 'h', 'n', 't', 'p'} set_5 = set([1,2,3,4,5]) print(set_5) #输出:{1, 2, 3, 4, 5} set_6 = set((1,2,"Hello")) print(set_6) set_7 = set(range(5)) print(set_7) set_8 = set() #创建空集合 print(set_8) set_9 = {} print(type(set_9)) # <class 'dict'> :所以创建空集合的时候,不能直接使用{}
集合的17个内置方法:
set.add(x):集合添加元素
set.clear():清空集合
set.copy():返回集合的浅复制
set.difference(set1[,...]): 返回两个或更多个集合的差(set保持不变)
set.difference_update(set1[,...]): 删除set中与set1等集合的重复元素
set.discard(x): 删除集合中的指定元素x
set.intersection(set1,set2,...,etc): 返回若干集合的交集(set保持不变)
set.intersection_update(set1,set2,...,etc): 若干集合的交集存放与set
set.isdisjoint(set1): 判断两个集合是否包含相同的元素
set.issubset(set1): 判断set是否为set1的子集
set.issuperset(set1): 判断set1是否为set的子集
set.pop(): 随机移除一个元素
set.remove(x): 移除指定元素
set.symmetric_difference(set1): 返回两个集合中不重复的元素集合(set保持不变)
set.symmetric_difference_update(set): 移除集合set中在集合set1相同的元素,并将集合set1中不同的元素插入到集合set中
set.union(set1,set2,...): 返回若干个集合的并集(set保持不变)
set.update(set1): 将在集合set1中且不在set中的元素添加至集合set
2、字典
d = {key1;value1,key2:value2,...}
其中键必须用不可变数据类型数字、字符串、元组,值可以使用任何数据类型。
字典通过键来存取元素,因此一个字典中,键必须是唯一的。
字典的创建:dict1 = {} 或 dict1 = dict()
字典内置的11个方法:
dict.clear(): 清空字典
dict.copy(): 返回字典的浅复制
dict.fromkeys(seq[, value]): 创建一个新字典
dict.get(key.default = None): 返回指定键的值,如果值不在字典中返回default值
dict.items(): 返回可遍历的(键,值)元组数组
dict.keys(): 返回一个迭代器,可用list()来转换为列表,列表为字典中所有的键
dict.setdefault(key,default = None): 与get()类似,如果键不存在于字典中,将会添加键,并将值设为default
dict.update(dict1): 将字典dict1的键-值对更新到dict中
dict.values(): 返回一个迭代器,可以用list()来转换为列表,列表为字典中所有的值
dict.pop(key[,default]): 删除字典给定key所对应的值,返回值为被删除值。key值必须给出,否则返回default值dict.popitem(): 随机返回并删除字典中一对键和值(一般删除末尾对)
浙公网安备 33010602011771号