4.2 元组与序列统计
元组(tuple)和列表很像,都可以保存多个有顺序的数据。不同点是:元组创建后不能修改。
元组
元组使用圆括号 () 创建。当元组只有一个元素时,必须在元素后面加逗号,否则 Python 会把它当作普通括号表达式。
python
point = (3, 4)
single = (8,)
print(point[0]) # 3
print(point[1]) # 4元组适合保存“不应该被随意修改”的一组数据,例如坐标、日期、颜色值等。
坐标距离
下面用两个元组表示二维平面上的点。
python
import math
p1 = (0, 0)
p2 = (3, 4)
distance = math.sqrt((p1[0] - p2[0]) ** 2 + (p1[1] - p2[1]) ** 2)
print("距离:%.1f" % distance)运行结果:
text
距离:5.0正在加载概念检查...
序列统计函数
很多内置函数(built-in function)可以直接作用在序列上:
len():获取序列长度。max():获取最大值。min():获取最小值。sum():计算总和。any():只要有一个元素为真,结果就是True。all():所有元素都为真,结果才是True。
python
lst = [4, 0, 1, 3, 2]
tup = (8, 5, 7, 9)
print(len(lst)) # 5
print(len(tup)) # 4
print(max(lst)) # 4
print(min(tup)) # 5
print(sum(lst)) # 10
print(sum(tup)) # 29any() 和 all() 常用于判断“一组条件”是否满足。
python
scores = [85, 92, 78]
print(all(score >= 60 for score in scores)) # True
print(any(score >= 90 for score in scores)) # True注意
score >= 60 for score in scores 是生成器表达式(generator expression)。它的常见形式是 表达式 for 变量 in 序列:这里会依次取出 scores 里的每个 score,计算 score >= 60,再把得到的一串 True / False 交给 all()。正在加载概念检查...
正在加载本节练习...