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()
: 随机返回并删除字典中一对键和值(一般删除末尾对)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南