Python基础数据结构:列表、元组、字典与集合详解
本文详解Python四大核心数据结构:列表、元组、字典和集合。涵盖元素的增删改查、常用内置方法如append、pop、get、items等,以及遍历与排序技巧。通过具体代码示例,帮助开发者快速掌握各类数据结构的特性与应用场景,提升编程效率。
一、列表
创建列表时,只需将用逗号分隔的不同数据项放入方括号中即可。
示例:
list01 = ['a','b','c']
1.1 列表更新元素
列表可以存储不同类型的数据,且更新后的元素类型无需与原元素一致。需要注意的是,更新操作必须针对已存在的索引进行,尝试访问超出列表范围的索引会导致错误。
1.2 列表增加元素
向列表中添加元素主要有以下几种方法:
1. append方法:在列表末尾追加单个元素。
list01 = ['a', 'b', 'c']
list01 .append('d')
print(list01)
list01 .append(['e', 'f'])
print(list01)
执行结果:
['a', 'b', 'c', 'd']
['a', 'b', 'c', 'd', ['e', 'f']]
2. extend方法:在列表末尾一次性添加多个元素。
list01 = ['a', 'b', 'c']
list01 .extend(['d', 'e', 'f'])
print(list01)
执行结果:
['a', 'b', 'c', 'd', 'e', 'f']
3. insert方法:在列表的指定中间位置插入一个元素。
list01 = ['a', 'b', 'c']
list01 .insert(1,'d')
print(list01)
执行结果:
['a', 'd', 'b', 'c']
1.3 列表删除元素
删除列表元素通常采用以下方法:
1. pop方法:pop(index)用于删除指定索引位置的元素,并返回该元素;若不指定索引,则默认删除并返回最后一个元素。
list01 = ['a', 'b', 'c']
list01 .pop()
print(list01)
list01 .pop(0)
print(list01)
执行结果:
['a', 'b']
['b']
2. remove方法:根据元素的值进行删除。
list01 = ['a', 'b', 'c']
list01.remove('a')
print(list01)
执行结果:
['b', 'c']
3. del语句:可以使用关键字“del”根据索引直接删除列表中的元素。
list01 = ['a', 'b', 'c']
print(list01)
del list01 [0]
print(list01)
执行结果:
['a', 'b', 'c']
['b', 'c']
1.4 列表的其他操作
1. index方法:查找指定元素在列表中的索引位置。
list01 = ['a', 'b', 'c']
print(list01 .index('a'))
print(list01 .index('b'))
执行结果:
0
1
2. reverse方法:反转列表顺序,直接修改原列表,无返回值。
list01 = ['a', 'b', 'c']
list01 .reverse()
print(list01)
执行结果:
['c', 'b', 'a']
3. count方法:统计指定元素在列表中出现的次数。
list01 = ['a', 'b', 'c','b', 'c']
print(list01 .count('a'))
print(list01 .count('b'))
执行结果:
1
2
4. sort方法:对列表进行排序,支持自定义排序规则。
list02 = [1,88,66,22]
list02.sort()
print(list02)
执行结果:
[1, 22, 66, 88]
二、元组
创建元组时,将用逗号分隔的不同数据项放入小括号中。若元组仅包含一个元素,必须在元素后添加逗号,以正确定义元组类型。
tuple01 = ('a','b','c')
2.1 删除元组
由于元组是不可变对象,无法单独删除其中的元素,只能删除整个元组。
1. del方法:用于删除整个元组对象。
tuple01 = ('a','b','c')
del tuple01
print(tuple01)
执行结果:
发生异常: NameError
name 'tuple01' is not defined
发生异常是正确的,说明tuple01 已经被删除了
2.2 元组的其他操作
1. count方法:统计元素在元组中出现的次数。
tuple02 = ('a', 'b', 'c','b', 'c')
print(tuple02.count('a'))
print(tuple02.count('b'))
执行结果:
1
2
2. index方法:查找元素在元组中的索引位置。
tuple02 = ('a', 'b', 'c','b', 'c')
print(tuple02.index('a'))
print(tuple02.index('b'))
执行结果:
0
1
3. len方法:计算元组中元素的个数。
tuple02 = ('a', 'b', 'c','b', 'c')
print(len(tuple02))
执行结果:
5
4. max、min方法:分别返回元组中的最大值和最小值。
tuple02 = (1, 88, 66, 22)
print(max(tuple02))
print(min(tuple02))
执行结果:
88
1
三、字典
字典是一种可变容器模型,可存储任意类型的对象。字典中的每个键值对(key=>value)使用冒号“:”分隔,各对之间用逗号“,”分隔,整个字典包含在花括号“{}”中。
dict01 = {'a':'深圳','b':22,'c':22.22}
3.1 字典删除元素
1. del方法:使用关键字“del”根据键删除字典中的元素。
dict01 = {'a':'深圳','b':22,'c':22.22}
print(dict01)
del dict01['a']
print(dict01)
执行结果:
{'a': '深圳', 'b': 22, 'c': 22.22}
{'b': 22, 'c': 22.22}
3.2 字典的其他操作
1. clear方法:清空字典中的所有元素,使其变为空字典。
dict01 = {'a':'深圳','b':22,'c':22.22}
print(dict01)
dict01.clear()
print(dict01)
执行结果:
{'a': '深圳', 'b': 22, 'c': 22.22}
{}
2. copy方法:返回一个包含相同键值对的新字典。
dict01 = {'a':'深圳','b':22,'c':22.22}
print(dict01)
dict01.copy()
print(dict01)
执行结果:
{'a': '深圳', 'b': 22, 'c': 22.22}
{'a': '深圳', 'b': 22, 'c': 22.22}
3. fromkeys方法:创建一个新字典,使用序列中的元素作为键,第二个参数作为所有键对应的初始值。
tuple01 = ("name","age","city")
hunan1 = dict.fromkeys(tuple01)
human2 = dict.fromkeys(tuple01,20)
print(hunan1)
print(human2)
执行结果:
{'name': None, 'age': None, 'city': None}
{'name': 20, 'age': 20, 'city': 20}
4. get方法:返回指定键对应的值;若字典中不存在该键,则返回None。
dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.get('a'))
print(dict01.get('d'))
执行结果:
深圳
None
5. keys方法:返回包含字典所有键的列表(或视图)。
dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.keys())
执行结果:
dict_keys(['a', 'b', 'c'])
6. values方法:返回包含字典所有值的列表(或视图)。
dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.values())
执行结果:
dict_values(['深圳', 22, 22.22])
7. items方法:返回包含所有键值对的列表(或视图)。
dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.items())
执行结果:
dict_items([('a', '深圳'), ('b', 22), ('c', 22.22)])
此外,还可以使用items方法遍历字典。
dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
for k, v in dict01.items():
print(k,v)
执行结果:
a 深圳
b 22
c 22.22
四、集合
集合(set)是一个无序且不重复元素的序列。可以使用大括号“{}”或set()函数创建集合。注意:创建空集合必须使用set(),因为“{}”用于创建空字典。
set01 = {1, 2, 2, 2, 2, 3, }
print(set01)
set02 = {1, 2, 3, }
print(set02)
执行结果:
{1, 2, 3}
{1, 2, 3}
4.1 集合添加元素
1. add方法:为集合添加单个元素。
set01 = {1, 2, 3}
set01.add(4)
set01.add(3)
print(set01)
执行结果:
{1, 2, 3, 4}
4.2 集合删除元素
1. remove方法:从集合中删除指定元素。
set01 = {1, 2, 3}
set01.remove(1)
print(set01)
执行结果:
{2, 3}
五、其他操作
1.clear() 移除集合中的所有元素
2.copy() 拷贝一个集合
3.difference() 返回多个集合的差集
4.difference_update() 移除集合中的元素,该元素在指定的集合也存在。
5.discard() 删除集合中指定的元素
6.intersection() 返回集合的交集
7.intersection_update() 返回集合的交集。
8.isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
9.issubset() 判断指定集合是否为该方法参数集合的子集。
10.issuperset() 判断该方法的参数集合是否为指定集合的子集
11.pop() 随机移除元素
12.symmetric_difference() 返回两个集合中不重复的元素集合。
13.symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集
14.合中不同的元素插入到当前集合中。
15.union() 返回两个集合的并集
16.update() 给集合添加元素
本文介绍了Python基础数据结构的相关内容,更多Python数据结构详解内容可搜索本站历史文章或继续浏览后续文章,感谢大家的支持!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













