Python基础:深入解析列表、字典、元组与集合
本文系统介绍Python的四种基本数据结构:列表、字典、元组和集合。详细解析各自的定义格式、核心特性及增删改查操作方法,涵盖insert、extend、del等常用技巧,帮助初学者掌握数据存储与处理的核心技能。
所谓数据结构,通俗而言即是用于存储大量数据的容器。在Python中,主要涉及四种基础数据结构:列表、字典、元组和集合。
其具体定义格式如下所示:
列表(list)使用方括号,格式为 list = [val1,val2,val3,val4];字典(dict)使用花括号,格式为 dict = {key1:val1,key2:val2},其元素由冒号分隔的键值对组成;元组(tuple)使用圆括号,格式为 tuple = (val1,val2,val3,val4);集合(set)同样使用花括号,格式为 set = {val1,val2,val3,val4}。
1. 列表:
list = [val1,val2,val3,val4]
列表具备以下显著特征:
首先,列表中的每个元素均支持修改;其次,列表元素具有有序性,即每个元素都对应特定的位置索引;最后,列表可以容纳Python中的任何类型对象。下文将详细阐述列表的增、删、改、查操作。
增:
1 list = [1,'dwd',3.6] 2 list.insert(0,'Python') 3 print(list)
使用 insert 方法可向列表中添加元素。该方法需指定插入位置及新增内容,新增元素将置于指定位置元素之前;若指定位置超出当前范围,则默认追加至列表末尾。
1 list = [1,'dwd',3.6] 2 list[0:0] = [9] 3 # 【0:0】是指在list中的第1个位置插入新元素 4 list[3:3] = ['a'] 5 # 【3:3】是指在list中的第4个位置插入新元素 6 print(list)
上述两种方法仅支持添加单个元素。若需一次性添加多个元素,可使用 extend 方法实现。
1 list_a = [1,'dwd',3.6] 2 list_b = ['Python',56,'game'] 3 list_a.extend(list_b) 4 # extend方法用于在列表末尾一次性追加另一个列表中的多个值 5 print(list_a)
删:
1 list = [1,'dwd',3.6]
2 list.remove('dwd')
3 print(list)
除了使用 remove 方法外,还可以利用 del 关键字来删除列表元素。
1 list = [1,'dwd',3.6] 2 del list[0:2] 3 # 【0:2】是删除第1和第2个位置的元素 4 print(list)
改:
1 list = [1,'dwd',3.6] 2 list[2] = 7 3 list[0] = 'start' 4 print(list)
若需替换列表中的特定元素,可直接对该位置元素重新赋值。例如,list[2] 表示访问列表中的第三个元素。
查:
列表的索引机制与字符串类似,支持正向和反向两种索引方式,既可从前往后访问,也可从后往前访问。具体示例如下:
list = [1,'dwd',3.6] print(list[1]) # 打印第2个位置的元素 print(list[-1]) # 打印倒数第一个位置的元素 print(list[:2]) # 打印第1和第2个元素 print(list[1:]) # 打印第2到最后一个的元素
然而,若试图通过元素值反向查找其位置,直接采用索引方式会导致程序报错。因为列表仅支持通过位置索引,不支持通过元素值直接查询位置。
2. 字典:
dict = {key1:val1,key2:val2}
编程中的许多概念源于生活,字典亦不例外。这种数据结构类似于现实中的字典,通过“名称—内容”进行构建。在Python中,每个元素表现为带有冒号的键(key)与值(val)的对应关系,通常称为键值对。
字典具有以下特征:
字典中的元素必须严格以键值对形式存在;
键(key)不允许重复,而值(val)允许重复;
键是不可变的,无法被修改;值是可变的,可以是任何类型的对象。
即使字典中定义了重复的键,打印输出时该键也仅显示一次。示例如下:
1 dict = {'A':'art','B':'big','C':'cute','C':'cute'}
2 print(dict)
接下来介绍字典的增、删、改、查操作。
增:
字典没有类似列表的 insert 方法,但可以通过直接赋值的方式插入元素,新元素默认追加至字典末尾。
1 dict = {'A':'art','B':'big','C':'cute'}
2 dict['D'] = 'dictionary'
3 print(dict)
此前在列表中介绍过使用 extend 方法添加多个元素,在字典中对应的操作是使用 update 方法来添加多个元素。
1 dict = {'A':'art','B':'big','C':'cute'}
2 dict.update({'D':'dictionary','E':'exam'})
3 print(dict)
删:
在字典中删除特定元素,同样可以使用 del 关键字。
1 dict = {'A':'art','B':'big','C':'cute'}
2 del dict['B']
3 print(dict)
需要注意的是,尽管字典定义时使用花括号,但在执行删除操作时依然使用中括号。
改:
若要修改字典中的元素,只需直接对对应的键重新赋值即可。
1 dict = {'A':'art','B':'big','C':'cute'}
2 dict['B'] = 'beyond'
3 print(dict)
查:
在字典中进行索引时,与删除操作类似,均使用中括号,且中括号内需存放字典的键。这意味着对字典元素的访问是通过键来完成的。
1 dict = {'A':'art','B':'big','C':'cute'}
2 dict['B']
3 print(dict['B'])
此前在《Python入门_浅谈字符串的分片与索引、字符串的方法》一文中提及字符串支持分片,但在字典中,字符串不支持分片操作。
3. 元组
tuple = (val1,val2,val3,val4)
Python中的元组与列表相似,主要区别在于元组不可修改,可视为“稳固版”的列表。因此,列表中可用的增删改方法在元组中均不适用,但元组支持元素索引,用法与列表类似。
1 tup = (1,2,'s',7) 2 print(tup[0]) 3 print(tup[-1]) 4 print(tup[1:]) 5 print(tup[:-2])
4. 集合
set = {val1,val2,val3,val4}
集合的概念接近数学中的集合。集合中的元素是无序且不重复的任何对象。我们可以利用集合判断数据的从属关系,或通过集合去除数据结构中的重复元素。
集合不支持切片和索引操作,但除了执行集合运算外,集合元素支持添加和删除。
set = {7,1,8,3,4,5,3}
set.add(0)
# 新增元素0
set.discard(7)
# 删除掉元素7
print(set)
# 打印出的集合会从小到达排列,并去重
关于集合的具体运算,将在后续用到时详细展开。
后续章节将介绍数据结构的一些实用技巧。
操作环境:Python版本为3.6;PyCharm版本为2016.2;电脑系统为Mac。
以上关于Python入门中四种基本数据结构的介绍即为全部内容,希望能对大家有所帮助,也欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













