当前位置: 首页 > article >正文

AI教你学Python :详解Python元组与集合、字典基础和字符串操作(补充)

第一、元组与集合

1. 元组

元组是Python中一种数据结构,它与列表类似,但元组是不可变的,这意味着一旦创建,元组中的元素不能被更改。

1.1 创建元组

元组可以使用圆括号 () 创建。

示例代码:

# 创建一个空元组
empty_tuple = ()

# 创建一个包含多个元素的元组
fruits = ("苹果", "香蕉", "橙子")

# 创建一个单元素元组
single_tuple = ("苹果",)  # 注意要加逗号
1.2 访问元组元素

可以通过索引访问元组中的元素,索引从0开始。

示例代码:

fruits = ("苹果", "香蕉", "橙子")
print(fruits[0])  # 输出: 苹果
print(fruits[1])  # 输出: 香蕉
1.3 元组的基本操作
  • 连接元组:使用 + 操作符。
  • 重复元组:使用 * 操作符。
  • 切片:与列表相同。

示例代码:

tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)

# 连接元组
combined_tuple = tuple1 + tuple2
print(combined_tuple)  # 输出: (1, 2, 3, 4, 5, 6)

# 重复元组
repeated_tuple = tuple1 * 3
print(repeated_tuple)  # 输出: (1, 2, 3, 1, 2, 3, 1, 2, 3)

# 切片
print(tuple1[1:3])  # 输出: (2, 3)

2. 集合

集合是一个无序且不重复的数据集合。使用花括号 {}set() 函数创建。

2.1 创建集合

示例代码:

# 使用花括号创建集合
fruits_set = {"苹果", "香蕉", "橙子"}

# 使用 set() 创建集合
numbers_set = set([1, 2, 3, 4])
2.2 集合的基本操作
  • 添加元素:使用 add() 方法。
  • 删除元素:使用 remove()discard()
  • 长度:使用 len() 函数。

示例代码:

fruits_set.add("西瓜")
print(fruits_set)  # 输出: {'苹果', '香蕉', '橙子', '西瓜'}

fruits_set.remove("香蕉")
print(fruits_set)  # 输出: {'苹果', '橙子', '西瓜'}

print(len(fruits_set))  # 输出: 3
2.3 集合运算

集合支持很多数学运算,如并集、交集和差集。

示例代码:

set1 = {1, 2, 3}
set2 = {3, 4, 5}

# 并集
union_set = set1 | set2
print(union_set)  # 输出: {1, 2, 3, 4, 5}

# 交集
intersection_set = set1 & set2
print(intersection_set)  # 输出: {3}

# 差集
difference_set = set1 - set2
print(difference_set)  # 输出: {1, 2}

3. 流程图

3.1 元组访问流程图
开始
  |
创建元组
  |
访问元素
  |
判断索引有效性
  |
是 --> 返回元素
  |
否 --> 输出错误
  |
结束
3.2 集合操作流程图
开始
  |
创建集合
  |
添加元素
  |
删除元素
  |
进行集合运算
  |
输出结果
  |
结束

4. 练习题

  1. 创建一个元组,包含5种水果的名称,并输出元组的第一个和最后一个元素。
  2. 创建一个集合,并进行添加和删除元素的操作,然后输出该集合的大小。
  3. 生成两个集合,分别包含1到10和5到15中的数字,并分别输出它们的并集和交集。

第二、字典基础

字典是一种可变的、无序的、包含键(key)和值(value)对的数据结构。

1. 创建字典

字典的创建使用花括号 {},或使用 dict() 函数。

示例代码:

# 使用花括号创建字典
student = {
    "姓名": "张三",
    "年龄": 20,
    "成绩": 90
}

# 使用 dict() 创建字典
employee = dict(姓名="李四", 年龄=30, 职位="经理")

2. 访问字典元素

使用键来访问字典中的值。

示例代码:

print(student["姓名"])  # 输出: 张三
print(employee.get("职位"))  # 输出: 经理

3. 字典的基本操作

  • 添加和更新元素:直接通过键赋值。
  • 删除元素:使用 del 语句或 pop() 方法。
  • 遍历字典:可以遍历键、值或键值对。

示例代码:

# 添加或更新元素
student["性别"] = "男"
student["年龄"] = 21

# 删除元素
del student["成绩"]
grade = student.pop("年龄")

# 遍历字典
for key, value in student.items():
    print(f"{key}: {value}")

4. 字典的常用方法

  • keys():返回字典中的所有键。
  • values():返回字典中的所有值。
  • items():返回键值对的视图。

示例代码:

print(student.keys())   # 输出: dict_keys(['姓名', '性别'])
print(student.values()) # 输出: dict_values(['张三', '男'])

5. 流程图

5.1 字典访问流程图
开始
  |
创建字典
  |
访问键
  |
判断键有效性
  |
是 --> 返回值
  |
否 --> 输出错误
  |
结束

6. 练习题

  1. 编写一个程序,创建一个字典,用于存储学生的学号、姓名和成绩,完成对字典的增、删、改操作,并打印输出。
  2. 创建一个字典,存储几个国家及其首都,允许用户输入国家名称,输出对应的首都。

第三、字符串操作

字符串是Python中常用的基本数据类型,可以使用单引号、双引号或三重引号创建。

1. 创建字符串

示例代码:

# 单引号
string1 = 'Hello, World!'

# 双引号
string2 = "Python 编程"

# 三重引号
string3 = '''这是一个多行字符串
用于演示字符串的创建。'''

2. 字符串的基本操作

  • 访问字符:通过索引访问字符串中的字符。
  • 字符串连接:使用 + 操作符。
  • 字符串重复:使用 * 操作符。
  • 切片:提取子字符串。

示例代码:

text = "Hello, Python!"

# 访问字符
print(text[7])  # 输出: P

# 字符串连接
new_text = text + " 欢迎学习!"
print(new_text)  # 输出: Hello, Python! 欢迎学习!

# 字符串重复
print("Ha" * 3)  # 输出: HaHaHa

# 切片
print(text[7:13])  # 输出: Python

3. 字符串方法

Python提供了多种字符串方法,如 lower(), upper(), strip(), replace(), split()join()

示例代码:

message = "  Hello, Python!  "

# 转换大小写
print(message.lower())  # 输出: "  hello, python!  "
print(message.upper())  # 输出: "  HELLO, PYTHON!  "

# 去除空格
print(message.strip())   # 输出: "Hello, Python!"

# 替换
print(message.replace("Python", "编程"))  # 输出: "  Hello, 编程!  "

# 分割
words = message.split(", ")
print(words)  # 输出: ['  Hello', 'Python!  ']

# 连接
joined = " - ".join(words)
print(joined)  # 输出: "  Hello - Python!  "

4. 流程图

4.1 字符串操作流程图
开始
  |
创建字符串
  |
访问字符
  |
进行操作
  |
判断操作类型
  |
连接? --> 返回新字符串
  |
重复? --> 返回新字符串
  |
切片? --> 返回子字符串
  |
结束

5. 练习题

  1. 编写一个程序,接受用户输入的名称,并输出欢迎信息。支持在输出中将用户输入的名称转为大写。
  2. 给定一个字符串,统计其中元音字母(a, e, i, o, u)的数量。
  3. 实现一个功能,将输入的多个单词连接成一个以空格分隔的句子。

总结

通过学习元组、集合、字典和字符串,我们能够掌握Python中常用的数据结构和字符串处理技巧。这些知识将为后续的学习和实际编程打下坚实的基础。其中,我们的练习题和项目作业有助于巩固所学知识。请完成练习,并随时提问以获得更多帮助!


怎么样今天的内容还满意吗?再次感谢观众老爷的观看。
最后,祝您早日实现财务自由,还请给个赞,谢谢!


http://www.kler.cn/a/308334.html

相关文章:

  • 性能测试|JMeter接口与性能测试项目
  • CSS多列布局:打破传统布局的束缚
  • 【练习案例】30个 CSS Javascript 加载器动画效果
  • Flutter Getx状态管理
  • K8资源之endpoint资源EP资源
  • 【前端】Vue中如何避免出现内存泄漏
  • JavaSE:8、包装类
  • seafaring寻找漏洞
  • 算法入门-贪心1
  • 【React】MobX
  • CI/CD持续集成和持续交付(git工具、gitlab代码仓库、jenkins)
  • DL/T645-2007 通信库(C#版本)
  • 裸金属服务器怎么实现算力共享,裸金属服务器提供者怎么做,租户怎样使用,共享平台需要搭建什么
  • C++11新增特性:lambda表达式、function包装器、bind绑定
  • 在Windows系统中管理苹果磁盘实用工具-使用磁盘,读取磁盘中的文件-供大家学习研究参考
  • 深入解析代理模式:静态代理、JDK 动态代理和 CGLIB 的全方位对比!
  • 开源模型应用落地-qwen模型小试-调用Qwen2-VL-7B-Instruct-更清晰地看世界(一)
  • 魔方财务安装指南
  • Qt6编译达梦8数据库驱动插件
  • 92、K8s之ingress下集
  • 遍历指定的目录a中的所有子目录及所有文件os.walk(root_dir)
  • Java进阶13讲__补充2/2
  • 初始爬虫6
  • PostgreSQL15.x安装教程
  • Vert.x初探
  • react native(expo)选择图片/视频并上传阿里云oss