Python基础:元组、字典与集合的核心特性与操作详解
本文深入解析Python三大核心数据结构:元组、字典与集合。详细阐述元组的不可变性与内部可变性,字典的无序键值对操作及增删改查方法,以及集合的去重、交集并集等关系运算。通过具体代码示例,帮助开发者掌握各类型的适用场景与高效操作技巧。
一、元组(tuple)
1. 元组是一种不可修改的数据类型,通常表示为圆括号内的一系列元素。它具有位置有序性和固定长度的特点。
2. 尽管元组本身不可变,但它支持字符串和列表的一般序列操作。对元组执行“+”(拼接)、“*”(重复)以及分片操作时,会返回一个新的元组对象。
print((1,2)+(3,4))>>>>(1,2,3,4) print((1,2)*4)>>>>(1,2,1,2,1,2,1,2) T=(1,2,3,4) print(T【0】,T【1:3】)>>>>(1,(2,3))
3. 元组对象本身不提供字符串、列表或字典特有的方法。如果需要对元组进行排序,通常需要先将其转换为列表,利用列表的排序方法处理后,再根据需要转换回其他形式。
T=(“z”,"b"."c")
tem= list(T)
tem.sort()
print(tem)>>>> ["b","c","z"]
T=tuple(tem)
print(T) >>>>("b","c","z")
需要注意的是,虽然元组本身不可变,但如果元组内部包含可变对象(如列表),则这些内部对象的内容是可以像往常一样被修改的。
T=(1,[2,3],4) T[1].[0] ="ABC" print(T)>>>>>(1,["ABC",3],4)
二、字典(dict)
1. 字典是无序的数据结构,这意味着每次查询结果中元素的排列顺序可能不一致。由于字典采用键值对(key-value)存储,因此无需通过整数下标索引来访问数据,而是通过键来查找。
2. 对字典的操作主要包括创建、访问、修改和删除等,具体实现方式见下文代码示例。
D1={} #表示空字典
D2={“spam”:1,"app":2}#两项目字典
D3={"food":{"spam":1,"egg":2}}#嵌套
D2["app"]#通过键进行查找
D3["food"]["spam"]
"egg" in D3 #判断egg是否存在在D3中,存在则返回True
D2.keys()#查询key值
D2.values()#查询value值
D2[key]=44#表示新增或者修改,当字典中不存在这个key则新增,存在则是修改
del D2[key]#删除
D2 = {"egg",1,"app",2}
print(D2["app"])
>>>>>>>2
print(D2)
>>>>>>>{"egg",1,"app",2}
len(D2)
>>>>>>>2#返回的时keys的列表的长度
合并的方法:
D2 = {"egg",1,"app",2}
D3 = {"egg",1,"app",2}
D2.update(D3)
print(D2)
>>>>>>>{"egg",1,"app",2,"egg",1,"app",2}
pop删除的方法:能够删除字典一个键并返回它的值
D2 = {"egg",1,"app",2}
D2.pop(“egg”)
>>>>>>>>1
print(D2)
>>>>>>>>{"app",2}
另一种创建方法:条件是所有的key的值都是一样的
dict.fromkeys(["a","b"],0)
>>>>>>>>>{"a":0,"b":0}
三、集合(set)
集合是一个无序且不包含重复元素的数据集合。其主要应用场景包括:
(1)数据去重:将列表转换为集合,可以自动去除其中的重复元素。
(2)关系测试:用于测试两组数据之间的交集、并集、差集等数学集合关系。
相关操作示例如下所示。
s1= set([1,2,3,4,5,6,7])
s2 = set([2,5,4,6,3,9])
print(s1.intersection(s2))#表示取交集
>>>>>>>>{2,4,5,6,3}
print(s1.union(s2))#表示取并集
>>>>>>>>{1,2,3,4,5,6,7,9}
print(s1.difference(s2))#表示差集
>>>>>>>>{7,9}
print(s1.isdisjiont(s2))#表示s与s2是否有交集
>>>>>>>>True
s1.add(10)#添加1个项
s1.update([8,9,10])#添加多个项
s1.remove(1)#删除一项,值为1(指定删除哪个,没有指定会报错)
s1.pop()#随机删除一个数
以上关于Python元组、字典与集合的基础认识分享完毕,希望能对读者有所帮助,欢迎参考与支持。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









