Python基础数据结构:列表、元组、字典与集合详解

江屿
江屿
发布时间:2026-10-14 | 4人浏览过
原创

本文详解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数据结构详解内容可搜索本站历史文章或继续浏览后续文章,感谢大家的支持!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表