资讯详情

资讯详情

Python 字符串、列表、元组、字典的学习与应用

1. 引言在 Python 编程中字符串、列表、元组和字典是最基础也最常用的四种数据类型。掌握它们的特点和使用方法是写出高效、优雅 Python 代码的关键一步。本文将从概念、常用操作到实际应用场景系统梳理这四种数据类型的核心知识。2. 字符串String字符串是 Python 中用于表示文本的数据类型由单引号、双引号或三引号包裹。字符串是不可变序列这意味着一旦创建其内容不能被修改。2.1 常用操作拼接使用或join()方法。直接连接两个字符串如Hello Worldjoin()用于将可迭代对象中的元素用指定分隔符连接如-.join([a, b, c])得到a-b-c。切片通过索引和切片语法提取子串如s[1:4]表示从索引 1 到索引 3左闭右开的子串。省略起始索引表示从开头取省略结束索引表示取到末尾如s[:3]取前三个字符s[3:]取从索引 3 到末尾。格式化字符串格式化是指按照指定的模板把变量或表达式的值动态填充到字符串中从而生成新的字符串。Python 中常用的格式化方式有f-string、format()和%三种。f-string直接在字符串前加f并用花括号引用变量如f姓名{name}format()用花括号占位再传入参数如姓名{}.format(name)%格式化用%s占位如姓名%s % name。常用方法strip()去除字符串首尾空白字符split()按指定分隔符拆分字符串为列表如a,b.split(,)得到[a, b]replace()替换指定子串如a-b.replace(-, )得到abupper()将字母转为大写lower()将字母转为小写。2.2 应用示例name Alice age 25 # f-string 格式化 info f姓名{name}年龄{age} print(info) # 姓名Alice年龄25 拆分与拼接 sentence hello,world,python words sentence.split(,) print(words) # [hello, world, python] print(-.join(words)) # hello-world-python3. 列表List列表是 Python 中最灵活的有序集合可以存储任意类型的元素并且支持增删改查。列表是可变对象适合需要频繁修改数据的场景。3.1 常用操作增append()在列表末尾追加一个元素如lst.append(1)insert()在指定索引位置插入元素如lst.insert(0, a)在开头插入extend()将一个可迭代对象的元素逐个追加到列表末尾如lst.extend([2, 3])。删remove()删除第一个匹配指定值的元素如lst.remove(a)pop()删除并返回指定索引的元素默认删除最后一个如lst.pop()del按索引或切片删除如del lst[0]或del lst[1:3]。改直接通过索引赋值如lst[0] new修改第一个元素。查index()返回指定值第一次出现的索引如lst.index(a)count()返回指定值出现的次数如lst.count(a)in运算符判断元素是否存在如a in lst返回布尔值。排序sort()原地排序列表如lst.sort()sorted()返回排序后的新列表不修改原列表如new_lst sorted(lst)。3.2 应用示例tasks [写代码, 调试, 测试] tasks.append(发布) tasks.insert(1, 设计) print(tasks) # [写代码, 设计, 调试, 测试, 发布] tasks.remove(调试) print(tasks) # [写代码, 设计, 测试, 发布] 列表推导式 squares [x * x for x in range(1, 6)] print(squares) # [1, 4, 9, 16, 25]4. 元组Tuple元组与列表类似但它是不可变对象。一旦创建元组中的元素不能被修改、添加或删除。元组常用于表示固定结构的数据如坐标、配置项等并且可以作为字典的键。4.1 常用操作创建使用圆括号()如t (1, 2, 3)单元素元组需加逗号如t (1,)否则会被当作普通括号表达式。访问通过索引和切片与列表相同如t[0]取第一个元素t[1:3]取索引 1 到 2 的子元组。解包将元组元素一次性赋值给多个变量如x, y (3, 5)将 3 赋给 x、5 赋给 y变量个数需与元素个数一致。方法count()返回指定值出现的次数如t.count(1)index()返回指定值第一次出现的索引如t.index(2)。4.2 应用示例point (3, 5) x, y point # 解包 print(f坐标({x}, {y})) # 坐标(3, 5) 元组作为字典键 locations {(35.68, 139.76): 东京, (31.23, 121.47): 上海} print(locations[(35.68, 139.76)]) # 东京5. 字典Dictionary字典是 Python 中的键值对集合用于存储具有映射关系的数据。字典是可变的键必须是不可变类型如字符串、数字、元组值可以是任意类型。字典在 Python 3.7 中保持插入顺序。5.1 常用操作增改直接通过键赋值如d[key] value键不存在时新增键已存在时修改对应值。删pop()删除指定键并返回其值如d.pop(key)popitem()删除并返回最后一个键值对del按键删除如del d[key]clear()清空字典所有键值对。查get()返回指定键的值键不存在时返回默认值如d.get(key, 默认)keys()返回所有键的视图values()返回所有值的视图items()返回所有键值对的视图常用于遍历。合并update()将另一个字典的键值对更新到当前字典如d.update({a: 1})或使用|运算符Python 3.9生成合并后的新字典如d1 | d2。5.2 应用示例student {name: Bob, age: 20, grade: A} student[age] 21 # 修改 student[city] 北京 # 新增 print(student.get(name)) # Bob print(student.get(score, 未设置)) # 未设置 遍历字典 for key, value in student.items(): print(f{key}: {value})6. 综合应用案例下面通过一个学生成绩管理的小案例综合运用列表、字典和元组展示它们在实际开发中的协作方式。# 学生成绩管理 students [ {name: Alice, scores: (88, 92, 85)}, # 元组存储三门课成绩 {name: Bob, scores: (75, 80, 90)}, {name: Cathy, scores: (95, 89, 93)}, ] 计算每个学生的平均分 for student in students: avg sum(student[scores]) / len(student[scores]) student[avg] round(avg, 2) 按平均分排序 students.sort(keylambda s: s[avg], reverseTrue) 输出排名 for rank, student in enumerate(students, start1): print(f第{rank}名{student[name]}平均分{student[avg]})7. 总结字符串、列表、元组和字典是 Python 数据处理的基石。字符串适合文本处理列表适合动态有序集合元组适合不可变固定结构字典适合键值映射。在实际开发中它们往往组合使用理解各自的特性和适用场景能够帮助我们写出更简洁、高效的代码。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →