序列类型定义
序列是具有先后关系的一组元素
- 序列是一维元素向量,元素类型可以不同
- 类似数学元素序列
- 元素间由序号引导,通过下标访问序列的特定元素
字符串类型 元祖类型 列表类型 都属于序列类型
序列处理函数及方法
序列类型通用操作符(6个操作符)
操作符及应用 | 描述 |
---|---|
X in S | 如果X是序列S的元素,返回True,否则返回False |
X not in S | 如果X是序列S的元素,返回False,否则返回True |
S + t | 连接二个序列s和t |
sn 或 ns | 将序列s复制n次 |
s[i] | 索引,返回s中第i个元素,i是序列的序号 |
s[i:j]或s[i:j:k] | 切片,返回序列s中第i到j以k为步长的元素子序列 |
>>> a = 'python123'
>>> a[::-1]
'321nohtyp'
序列类型通用函数和方法
函数和方法 | 描述 |
---|---|
len(s) | 返回序列s的长度,即元素个数 |
min(s) | 返回序列s的最小元素,s中元素需要可比较 |
max(s) | 返回序列s的最大元素,s中元素需要可比较 |
s.index(x)或s.index(x,i,j) | 返回序列s从i开始到j位置中第一次出现元素x的位置 |
s.count(x) | 返回序列s中出现x的总次数 |
元祖类型及操作
元祖类型定义:
元祖是序列类型的一种扩展
- 元祖是一种序列类型,一旦创建就不能被修改
- 使用小括号()或tuple()创建,元素间用逗号,分隔
- 可以使用或不使用小括号
元祖类型操作
- 元祖继承了序列类型的全部通用操作
- 元祖因为创建后不能修改,因此没有特殊操作
- 使用或不使用小括号
列表类型及操作
列表类型定义
- 列表是一种序列类型,创建后可以随意被修改
- 使用方括号[]或list()创建,元素间用逗号,分隔
- 列表中各元素类型可以不通,无长度限制
列表类型操作函数和方法:
函数或方法 | 描述 |
---|---|
ls[i] = x | 替换列表第i元素为x |
ls[i:j:k] = lt | 用列表lt替换ls切片后所对应元素子列表 |
del ls[i] | 删除列表ls中第i元素 |
del ls[i:j:k] | 删除列表ls中第i到第j以k为步长的元素 |
ls += lt | 更新列表ls,将列表lt元素增加到列表ls中 |
ls *= n | 更新列表ls,其元素重复n次 |
ls.append(x) | 在列表最后增加一个元素x |
ls.clear() | 删除列表ls中所有元素 |
ls.insert(i,x) | 在列表ls的第i位置增加元素x |
ls.pop(i) | 将列表ls中第i位置元素取出并删除该元素 |
ls.remove(x) | 将列表ls中出现的第一个元素x删除 |
ls.reverse() | 将列表ls中的元素反转 |
ls.copy() | 生成一个新列表,赋值ls中所有元素 |
#数据的基本统计值的计算
#CalStatisticsV1.py
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('平均值:{},方差:{:.2},中位数:{}.'.format(m,dev(n,m),median(n)))