5.23
组合数据类型
集合类型及操作
- 集合类型定义
集合是多个元素的无序组合。与数学中的集合概念一致。集合元素之间无序且不可更改,不能是可变数据类型
set() #创建集合,集合用{}表示
>>> A = set("123124sdfsdf")
>>> A
{'d', '1', 's', 'f', '2', '4', '3'}
- 集合操作符
- 集合处理方法
try:
while True:
print(A.pop(), end="")
except:
pass
p123y
>>> A
set()
- 集合类型应用场景
数据去重
ls = ["p","p", "y", "y", 123]
s =set(ls) #利用了集合不重复的特点
{"p", "y", 123}
lt = list(s) #将集合转换为列表
["p", "y", 123]
序列类型及操作
-
序列类型定义
序列具有先后关系的一组元素,序列是一维元素向量,元素类型可以不同,类似数学元素序列。元素之间由序号引导,通过下标访问序列的特定元素。
-
序列处理函数及方法
>>> ls = ["python", 123, ".io"]
>>> ls[::-1]
[".io", 123, "python"]
- 元组类型及操作
- 列表类型及操作
- 序列类型应用场景
元组用于元素不改变的应用场景,更多用于固定搭配场景。
数据保护
>>> ls = ["cat", “dog”, "tiger", 1024]
>>> lt = tuple(ls)
>>> lt
('cat', 'dog', 'tiger', '1024')
基本统计量计算
- 描述统计
样本量,求和,平均,方差,中位数,标准差,变异系数,离散系数等
def getNum():
nums = []
iNumStr = input("输入数字(回车退出):")
while iNumStr != "":
nums.append(eval(iNumStr))
iNumStr = input("输入数字(回车退出):")
return nums
def mean(numbers):
s = 0.0
for num in numbers:
s= s + num
return s / len(numbers)
def dev(numbers, mean):
sdev = 0.0
for num in numbers:
sdev = sdev + (num - mean)**2
return pow(sdev/(len(numbers)-1),0.5)
def median(numbers):
sorted(numbers)
size = len(numbers)
if size % 2 == 0:
med = (numbers[size//2-1] + numbers[size//2])/2
else:
med = numbers[size//2]
return med
n = getNum()
m = mean(n)
print("平均值{:.2f},方差{:.2f},中位数{:.2f}".format(m, dev(n, m),median(n)))