python大量数据的表示和处理

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

data=[]
x=raw_input("input a number (<Enter> to quit): ")
while x!="":
data.append(eval(x))
x=raw_input("input a number (<Enter> to quit): ")
return data
def media(aList):
def sum(aList): s=0 for x in aList: s=s+x return s
aList.sort() size=len(aList) mid=size/2 if size%2==1:
m=aList[mid] else:
def mean(aList): return sum(aList)/len(aList)
>>> a[0].reverse() >>> a [[2.718, 3.14], 'Irrational', 'pi and e']
>>> a.insert(2,'number') >>> a [[2.718, 3.14], 'Irrational', 'number', 'pi and e']
>>> print a.pop(0) [2.718, 3.14]
编程案例:统计程序(2)
程序规格: 获得用户输入的数值数据,并求出这批数据的总和、 算数平均值和中位数。
模块化算法设计: 获得输入的数据 getInputs() 无参数,一个返回值(列表) 计算总和 sum() 一个参数(列表),一个返回值 计算平均值 mean() 一个参数,一个返回值 计算中位数 median() 一个参数,一个返回值 输出结果
ቤተ መጻሕፍቲ ባይዱ
编程案例:统计程序(1)
统计指标
累积型:如总和。可以累积计算
sum = 0 data = raw_input("输入新数据:") while data != "":
x = eval(data) sum = sum + x
整体型:如中位数。不能累积计算,只能在获 得全体数据后计算,即必须记录下所有的输入 数据。
面向对象的调用方法: >>> s.count('I') 2 >>> s.find('re') 11
(2)列表
回顾:Python列表是由多个数据项组成的序 列,可通过索引引用列表中的数据。
Python列表的特点:
列表的成员可以是任何数据类型; 列表的成员可以修改
a[i] = x a[i:j] = b del a[i] del a[i:j]
tuple()可将字符串和列表转换成元组.
例:元组
>>> x = 1,2,3
编程案例:统计程序(2)
# statistics.py
def main(): data = getInputs() sigma = sum(data) xbar = mean(data) med = median(data) print ......
main()
编程案例:统计程序(2)
def getInputs():
序列
序列:多个数据项按次序排列而形成的集合体
次序是排列先后次序,并非数据项的值的比较
Python的string,list,tuple都是序列 python序列都是以面向对象方式实现的,因
此对序列的处理都可以通过对序列对象的方法进 行调用而实现
序列的操作
通用的序列操作(s1和S2为两个同类型序列)
第六章 大量数据的表示和处理
数据复杂性
简单数据
单个数据 无内部结构(不可分,原子)
复杂数据
由多个相关数据组成
可用集合体类型表示
单个,但有内部结构
可用面向对象的类刻画
§6.1 概述 §6.2 有序的数据集合体 §6.3 无序的数据集合体 §6.4 文件
数据结构
构成一个整体的大量数据成员一般是"相关的", 即其间存在某种逻辑关系
列表对象
Python将列表实现为对象,并提供了很多方法.
不同类型的对象,如果其中一个比较对象是数
例:列表对象的方法 字型(int/float/long/complex等),则数字型 的对象<其它非数字型的对象;如果两个都是 非数字型的对象,则按照类型名的顺序比较, 如{} < "abc"(按照"dict" < "str"),而"abc" > >>> a = ['Irrational',[3.14,2.7[118,2]],, '"apbic"a<nd(1e,2')]。 >>> a.sort() >>> a [[3.14, 2.718], 'Irrational', 'pi and e']
不但要表示各数据成员,还要表示其逻辑关系
逻辑关系可以体现在存储结构中
例如:字符串"HELLO"
连续存储的序列结构即可表示5个字符间的关系 分散独立存储5个字符,则无法表示其间关系
存储结构必须有利于对数据的操作
§6.1 概述 §6.2 有序的数据集合体 §6.3 无序的数据集合体 §6.4 文件
s1 + s2 s*n 或n*s s[i] 或 s[i:j] 或 s[i:j:k] len(s) min(s) max(s) x in s 或 x not in s
(1)字符串
回顾:字符串是字符序列.
基本操作:索引,子串,合并,重复... string库 字符串成员不能修改(可用replace()函数)
m=(aList[mid]+aList[mid-1])/2.0 return m
(3) 元组
回顾:元组也是序列,适用所有序列操作。 元组的特点:不能修改
若序列创建后就不再改变,则可表示为元组:效 率高,防止误操作。
Python也将元组实现为对象.
方法:
<元组>.index(x) <元组>.count(x)
字符串可作为对象:通过面向对象的方法调用 函数
例如:s=“qwert”
例:字符串的处理
>>> from string import * >>> s = "I think, therefore I am."
库函数的一般调用 >>>count(s, 'I') 2 >>> split(s) ['I', 'think,', 'therefore', 'I', 'am.']
相关文档
最新文档