Python3基础数据类型详解:列表、元组、字典与字符串核心操作指南

Jasper
Jasper
发布时间:2026-10-12 | 2人浏览过
原创

本文系统梳理Python3中列表、元组、字典和字符串的创建、方法及常规用法。涵盖列表的增删改查与排序,元组的不可变性特性,字典的键值对操作与遍历效率对比,以及字符串的拼接、格式化与常用内置方法,帮助开发者快速掌握核心数据结构的应用。

本文旨在对Python3中的核心数据结构进行系统性总结,重点围绕列表、元组、字典和字符串四大基础类型展开。

首先介绍这四种数据类型的初始化与创建方式,为后续操作奠定基础。

接着详细解析各类数据结构支持的方法调用,包括内置函数与对象方法。

最后归纳这些数据结构在实际编程中的常规应用场景与使用技巧。

接下来将逐一深入探讨列表的具体特性与操作细节。

# 列 表

# 列表基础
list_1 = ['a','b','c','d','e','f']
list_2 = ['apple','banana','watermelon','strawberry','banana','apple']
print(list_1)
print("##########")
# 列表得下标是从0开始的,之后的一次+1
print(list_1[0])
print("##########")
print(list_1[4])
print("##########")
print(list_1[1:3]) # 从下标为1的元素开始,到下标为3的终止
print("##########")
print(list_1[1:-2])   # -2是指将列表的顺序倒置,结尾变为开头,下标相对来说变为0向前依次 -1
print("##########")
print(list_1[::2]) # 前面两个冒号分别使用默认的参数,最后一个数字表示步长,两步一取
print("##########")

# 列表的增、删、改
list_1.append('z') # 在结尾加一个元素
print(list_1)
print("##########")
list_1.insert(1,'y')  # 在指定位置增加元素,在a后b前插入y
print(list_1)
print("##########")
a = list_2.extend(list_1)    # 将list_1和list_2合并
print(a)
print("##########")
list_1[4] = 'o'   # 修改第五个元素
print(list_1)
print("##########")
list_1[2:3] = ['p','q']   # 修改连续的元素
print(list_1)
print("##########")
list_1.remove(list_1[3])    # 删除下标为3的元素
print(list_1)
print("##########")
list_1.pop(2)    # 直接加下标
print(list_1)
print("##########")
# del list_1[2]  删除列表中的下标为2的元素
# del list_1   直接删除掉列表

# 列表的一些方法
# count
print(list_2.count('apple'))  # count是计算出现次数的方法
print("##########")

# index
print(list_2.index('banana'))    # 寻找banana在哪个位置
print("##########")
one_apple = list_2.index('apple')
print(one_apple)
list_3 = list_2[one_apple+1:]
two_apple = list_3.index('apple')
list_4_index = one_apple + two_apple +1
print(list_4_index)     # 输出第二个位置
print("##########")

# reverse
list_1.reverse()  # 倒叙
print(list_1)
print("##########")

# sort
list_5 = [6,4,3,7,5,5,8,1]
list_5.sort()    # 排序(从小到大)
print(list_5)
print("##########")

# clear
list_5.clear()   # 清空列表
print(list_5)
print("##########")

列表是Python中最灵活的数据结构之一,支持动态增删改查。创建列表时可直接赋值如list_1 = ['a','b','c','d','e','f'],或通过其他序列合并。列表索引从0开始,支持正向索引如list_1[0]获取首元素,list_1[4]获取第五个元素,以及切片操作如list_1[1:3]获取下标1至2的元素,list_1[1:-2]利用负索引从后往前截取,list_1[::2]通过步长2进行隔位取值。在修改方面,append()用于在末尾追加元素,insert(1,'y')可在指定索引前插入元素,extend()用于合并两个列表,直接赋值如list_1[4] = 'o'可修改单个元素,切片赋值如list_1[2:3] = ['p','q']可替换连续多个元素。此外,列表还支持查找特定元素索引、反转顺序reverse()、排序sort()(默认从小到大)、清空clear()等操作,以及处理重复元素如计算'apple'出现位置等复杂逻辑。

# 元 组
 tuple1 = (1,)    # 只有一个元素的话,后面加一个逗号,对之后的学习有所帮助
 tuple2 = (1,2,3,4,5)
 # tuple2[2] = 10  # 元组是不可修改的

元组与列表类似,但具有不可变性。创建元组时,若仅包含一个元素,需添加逗号如tuple1 = (1,)以避免语法歧义,例如tuple2 = (1,2,3,4,5)。由于元组不可修改,尝试执行tuple2[2] = 10会引发错误,这一特性使其在需要保护数据不被意外更改的场景中尤为有用。

# 字 典

dictionary1 = {'country':'China','city':'beijing'}  # 创建字典(常用),前面为键,后面为键值
dictionary2 = dict((('city','shanghai'),))   # 创建字典
# 键是不可变类型:整型,字符串,元组
# 可变类型有:列表,字典
print(dictionary1)
print(dictionary1['city'])
print(dictionary2)
# 字典两大特点:无序,键值唯一
print("##########")


dictionary2['city'] = 'tianjin'   # 修改字典,增加内容
print(dictionary2)
print("##########")
return1 = dictionary2.setdefault('location','north')   # 增加内容,如果有则不做修改
print(dictionary2)
print(return1)   # 返回键值
print("##########")
print(dictionary1.keys())    # 查看字典当中用那些键
print(list(dictionary1.keys()))   # 用列表的形式展示
print(dictionary1.values())   # 只查看键值
print(dictionary1.items())   # 将字典当中的所有键值对拿出
print("##########")

dictionary3 = {1:1,2:2}
dictionary4 = {1:3,4:5,6:7}
dictionary3.update(dictionary4)   # 更新字典,如果有键相同,则更新键值;如完全没有,则更新在后方
print(dictionary3)
print(dictionary4)
print("##########")

# 删除字典
eg = dictionary3.popitem()   # 不加键,则会随机删除键值对
print(eg,'||',dictionary3)
dictionary4.pop(6)   # 删除键为6的信息
print(dictionary4)
del dictionary4[4]   # 删除键为4的信息
print(dictionary4)
dictionary4.clear()   # 清空字典,只留下框架轮廓
print(dictionary4)
print("##########")

dictionary5 = dict.fromkeys(['a','b','c'],['z','y'])   # 分配率,将后面最为一个整体
print(dictionary5)

dictionary5['b'][0] = 'x'  # 需要理解深浅拷贝
print(dictionary5)
print("##########")
print(sorted(dictionary5))   # 字典的排序
print(sorted(dictionary5.values()))   # 根据值排序
print("##########")

# 字典的遍历
dictionary6 = {'num1':10,'num2':52,'num3':33}
# 效率较高
for i in dictionary6:
  print(i,dictionary6[i])
print("##########")
# 效率很低
for a,b in dictionary6.items():
  print(a,b)
print("##########")

字典是无序且键值唯一的键值对集合。创建方式包括直接赋值dictionary1 = {'country':'China','city':'beijing'},或使用dict()构造函数如dictionary2 = dict((('city','shanghai'),))。字典的键必须是不可变类型(如整型、字符串、元组),而值可以是任意类型。修改字典可通过直接赋值如dictionary2['city'] = 'tianjin'实现,或使用setdefault()在键不存在时添加新键值对。字典操作还包括获取所有键keys()、值values()和项items(),使用update()合并字典(键冲突时更新值,无冲突时追加),以及处理深浅拷贝问题。排序方面,sorted()可对字典键或值进行排序。遍历字典时,直接迭代字典对象效率较高,而使用items()方法遍历键值对效率相对较低但更直观。

# 字符串
str1 = '1'
str2 = "2"   # Python中单引号与双引号没什么区别
print(str1)
print(str2)
print(str2*200)
str3 = 'asdqwezxc'
print(str3[2:])
print('as' in str3)   # 判断此字段是否在字符串之中
print('aq' in str3)
print(str1+str2)    # 字符串拼接(效率很低)
eg1 = '......'.join([str1,str2])  # 通过单引号的符号连接将要拼接的两个字符串
print(eg1)
print("##########")

# 字符串内置方法
str4 = 'it is a bea\tutiful city 是 {name}\n'
print(str4.count('s'))   # 统计数目
print(str4.capitalize())    # 字符串首字母大写
print(str4.center(100,'-'))  # 居中(距离和符号)
print(str4.endswith('ful'))   # 以某个内容结尾
print(str4.startswith('it'))  # 以某个内容开始
print(str4.expandtabs(tabsize=20))   # 对\t的空格数改为20,默认为4
print(str4.find('b'))    # 查找到的第一个元素,返回下标号
print("##########")
# 格式化输出
print(str4.format(name = 'beijing'))  # 将name改为具体的名字
print(str4.format_map({'name':'shanghai'}))
print(str4.index('b'))   # 查找索引值,和fund()相似,但是index找不到会报错
print(str4.isalnum())    # 不常用,是否是数字,字母,中文
print(str4.isdecimal())   # 不常用,是否是十进制的数
print(str4.isdigit())    # 是否为数字
print(str4.isnumeric())   # 是否为数字
print(str4.isidentifier())   # 是否为非法变量
print("##########")
print(str4.islower())    # 是否都是小写
print(str4.isupper())    # 是否都是大写
print(str4.isspace())    # 是否是个空格
print(str4.istitle())    # 每一个词的首字母是否是大写
print(str4.lower())     # 大写全部变小写
print(str4.upper())     # 小写全部变大写
print(str4.swapcase())   # 字母大小写反转
print(str4.ljust(100,':'))     # 向左对齐
print(str4.rjust(100,':'))     # 向右对齐
print("##########")
print(str4.strip())     # 去掉换行符,空格
print(123)     # 前面的换行符被去掉
print("##########")
print(str4.replace('city','城市'))    # 替换内容,也可以部分替换
print(str4.rfind('t'))   # 真实的索引位置
print(str4.split(' '))   # 字符串的分割
print(str4.rsplit('b',1))  # 以右为准,以目标分割,分割一次

字符串在Python中通过单引号或双引号创建,两者无本质区别。字符串支持重复操作如str2*200,切片如str3[2:],成员判断如'as' in str3,以及拼接。字符串拼接效率较低,推荐使用join()方法通过指定分隔符连接字符串列表。Python提供了丰富的字符串内置方法:count()统计子串出现次数,capitalize()将首字母大写,center()居中显示并填充指定字符,endswith()和startswith()判断前后缀,expandtabs()调整制表符宽度,find()和index()查找子串索引(index在找不到时报错),format()和format_map()进行格式化输出,swapcase()反转大小写,ljust()和rjust()控制左右对齐,strip()去除首尾空白及换行符,replace()替换内容,rfind()查找最后出现位置,split()和rsplit()按分隔符分割字符串。

综上所述,本文全面总结了Python3中列表、元组、字典和字符串的创建、方法调用及常规用法。掌握这些基础知识对于高效编写Python代码至关重要。建议读者结合具体项目实践,深入理解各数据结构的适用场景与性能特点,以应对更复杂的开发需求。

相关标签:

本站声明

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

Python 相关产品和应用

全部下载

专题列表