我的目录
- 1、python是什么
- 2、列表的应用
- 3. 元组的应用:
- 4、深层次地进一步理解列表和元组
- 4.1. 列表示例:
- 4.2. 元组示例:
- 总结
1、python是什么
在Python中,列表和元组都是用于存储多个数据项的数据结构,但是它们有一些细微的差别:
列表
是可变的,意味着可以随时添加、删除和修改列表中的元素;而元组不可变,一旦创建,就不能被修改。元组
通常用于存储不可变的数据项,比如坐标,日期等。列表
用方括号 [] 来表示,元组
用圆括号 () 来表示。
2、列表的应用
- 列表常用于存储可变长度的数据集合,比如一组学生的姓名、年龄、性别等信息。
- 列表可以进行动态的添加、删除和修改操作,因此被广泛用于数据构建、算法运算等场合。
- 列表还可以包含其他类型的数据结构,比如嵌套的列表,可用于构建二维数组、树等数据结构。
例如,下面是一个使用列表来存储学生信息的例子:
students = [
{'name': 'Tom', 'age': 18, 'gender': 'male'},
{'name': 'Lucy', 'age': 19, 'gender': 'female'},
{'name': 'Bob', 'age': 20, 'gender': 'male'}
]
for student in students:
print('{} is {} years old, {}.'.format(student['name'], student['age'], student['gender']))
3. 元组的应用:
- 元组是不可变的,因此通常用于存储一些不可变的数据集合,比如一个坐标、一组日期等。
- 元组可以通过拆包的方式来赋值,可以用于函数返回值的多重赋值。
- 元组在一些性能敏感的场合下比列表更加高效,因为元组可以被视为不可变的,可以被缓存和优化。
例如,下面是一个使用元组来存储坐标的例子:
def distance(p1, p2):
""" 计算两个点之间的距离 """
x1, y1 = p1
x2, y2 = p2
dx = x2 - x1
dy = y2 - y1
return (dx**2 + dy**2) ** 0.5
p1 = (0, 0)
p2 = (3, 4)
print('Distance between', p1, 'and', p2, 'is', distance(p1, p2))
4、深层次地进一步理解列表和元组
4.1. 列表示例:
fruits = ['apple', 'banana', 'orange'] # 创建一个列表
print(fruits) # 输出 ['apple', 'banana', 'orange']
fruits.append('grape') # 在列表末尾添加 'grape'
print(fruits) # 输出 ['apple', 'banana', 'orange', 'grape']
fruits[1] = 'pear' # 修改第二个元素为 'pear'
print(fruits) # 输出 ['apple', 'pear', 'orange', 'grape']
fruits.remove('orange') # 删除 'orange'
print(fruits) # 输出 ['apple', 'pear', 'grape']
4.2. 元组示例:
coordinates = (3, 4) # 创建一个元组
print(coordinates) # 输出 (3, 4)
# 下面的语句会引发 TypeError
# coordinates[0] = 5 # 尝试修改元组中的第一个元素
# 元组也可以使用拆包特性进行赋值,例如:
x, y = coordinates
print('x:', x, 'y:', y) # 输出 x: 3 y: 4
总结
需要注意的是,虽然元组本身不可变,但是如果元组中包含可变对象,比如列表,那么列表中的元素可以被修改。