目录
一、前言
二、实验环境
三、Python容器(Containers)
0. 容器介绍
2. 元组(Tuple)
1. 初始化
a. 使用小括号()
b. 省略小括号
c. tuple() 函数
2. 访问元组元素
a. 索引
b. 切片
3. 元组的特性
a. 不可变
b. 包含不同类型
c. 可嵌套
4. 元组的常用操作
a. 元组长度
b. 元素计数
c. 元组拼接
d. 元组重复
e. 检查元素是否存在于元组中
5. 拆包
6. 遍历
a. for 循环
b. enumerate()函数
一、前言
Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库,可以用于开发各种类型的应用程序,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。
Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:
- Python:基本数据类型、容器(列表、元组、集合、字典)、函数、类
- Numpy:数组、数组索引、数据类型、数组数学、广播
- Matplotlib:绘图,子图,图像
- IPython:创建笔记本,典型工作流程
二、实验环境
Python 3.7
运行下述命令检查Python版本
python --version
三、Python容器(Containers)
0. 容器介绍
Python中的容器是用于存储和组织数据的对象。常见的容器包括列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)。
- 列表是有序的可变容器,可以包含不同类型的元素,使用方括号([])来创建。
my_list = [1, 2, 3, 'a', 'b', 'c']
- 元组是有序的不可变容器,也可以包含不同类型的元素,使用圆括号(())来创建。
my_tuple = (1, 2, 3, 'a', 'b', 'c')
- 集合是无序且不重复的容器,用于存储唯一的元素,使用大括号({})或者set()函数来创建。
my_set = {1, 2, 3, 'a', 'b', 'c'}
- 字典是无序的键值对容器,用于存储具有唯一键的值,使用花括号({})或者dict()函数来创建。
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
这些容器都提供了不同的方法和操作,用于对数据进行存储、访问和处理。可以根据具体的需求选择适合的容器类型。
2. 元组(Tuple)
元组(tuple)是Python中的一种序列类型,类似于列表,它可以存储多个元素。与列表不同的是,元组是不可变的,一旦创建后就不能修改。
1. 初始化
a. 使用小括号()
my_tuple = ()
这种方式创建的元组是空的,不包含任何元素。
使用小括号()和逗号分隔的元素创建元组:
my_tuple = (1, 2, 3)
b. 省略小括号
my_tuple = 1, 2, 3
逗号分隔的元素会被组合成一个元组。省略了小括号,但是仍然是一个元组。
c. tuple()
函数
tuple()
函数可以将其他可迭代对象(如列表、字符串、字典等)转换为元组。
- 将列表转换为元组:
my_list = [1, 2, 3, 4, 5]
my_tuple = tuple(my_list)
print(my_tuple) # 输出:(1, 2, 3, 4, 5)
- 将字符串转换为元组:
my_string = "Hello, World!"
my_tuple = tuple(my_string)
print(my_tuple) # 输出:('H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!')
- 将字典转换为元组:
my_dict = {'a': 1, 'b': 2, 'c': 3}
my_tuple = tuple(my_dict)
print(my_tuple) # 输出:('a', 'b', 'c')
2. 访问元组元素
a. 索引
# 使用索引访问元组中的特定元素
print(my_tuple[0]) # 输出:a
print(my_tuple[-1]) # 输出:d
b. 切片
# 使用切片操作获取元组的子序列
print(my_tuple[1:3]) # 输出:('b', 'c')
print(my_tuple[1:]) # 输出:('b', 'c', 'd')
print(my_tuple[:]) # 输出:('a', 'b', 'c', 'd')
print(my_tuple[1:-1]) # 输出:('b',)
print(my_tuple[:-1]) # 输出:('a', 'b', 'c')
3. 元组的特性
a. 不可变
元组是不可变的,一旦创建后,不能修改元组的元素。无法对元组中的元素进行增加、删除或修改操作。
my_tuple = (1, 2, 3)
my_tuple[0] = 4 # 会引发一个类型错误(TypeError: 'tuple' object does not support item assignment)
b. 包含不同类型
元组可以包含不同类型的元素,例如整数、字符串、浮点数等。
my_tuple = (1, "hello", 3.14)
c. 可嵌套
元组可以嵌套,即元组中可以包含其他元组作为元素。
# 访问元组中的元素
element1 = nested_tuple[0]
print(element1) # 输出: (1, 'hello')
print(nested_tuple[2][0]) # 输出: world
4. 元组的常用操作
a. 元组长度
b. 元素计数
c. 元组拼接
d. 元组重复
e. 检查元素是否存在于元组中
my_tuple = (1, 2, 3)
# 获取元组的长度
print(len(my_tuple)) # 输出:3
# 元素计数
print(my_tuple.count(2)) # 输出: 1(元素2在元组中出现的次数)
# 元组拼接
new_tuple = my_tuple + (4, 5)
print(new_tuple) # 输出:(1, 2, 3, 4, 5)
# 元组重复
repeated_tuple = my_tuple * 2
print(repeated_tuple) # 输出:(1, 2, 3, 1, 2, 3)
# 检查元素是否存在于元组中
print(2 in my_tuple) # 输出:True
print(4 not in my_tuple) # 输出:True
5. 拆包
元组拆包(元组解构、Tuple Unpacking)是一种将元组的元素赋值给多个变量的方法。通过元组解构,可以方便地将元组中的值分配给对应的变量。
my_tuple = (1, 2, 3)
a, b, c = my_tuple
print(a) # 输出:1
print(b) # 输出:2
print(c) # 输出:3
在这个例子中,元组my_tuple
包含了三个元素,分别是1、2和3。通过元组解构,我们将这三个值分别赋给了变量a
、b
和c
。结果是变量a
的值为1,变量b
的值为2,变量c
的值为3。
需要注意的是,变量的数量必须与元组中的元素数量相同,否则会引发异常。
- 变量的数量少于元组中的元素数量:
my_tuple = (1, 2, 3)
a, b = my_tuple
ValueError: too many values to unpack (expected 2)
- 变量的数量多于元组中的元素数量:
my_tuple = (1, 2, 3)
a, b, c, d = my_tuple
ValueError: not enough values to unpack (expected 4, got 3)
6. 遍历
a. for 循环
my_tuple = (1, 2, 3, 4, 5)
for element in my_tuple:
print(element)
b. enumerate()
函数
my_tuple = (1, 2, 3, 4, 5)
for index, element in enumerate(my_tuple):
print(f"Index: {index}, Element: {element}")