python系列学习三 —— 数据处理
2013-12-05 10:20
435 查看
1. 排序
1)原地排序(In-place sorting)按照指定的顺序排列数据,然后用排序后的数据替换原来的数据,原来的数据会丢失。对于列表,sort()方法提供原地排序。
2)复制排序(Copied sorting)
按照指定的顺序排列数据,返回数据的一个有效副本,原数据的顺序依然保留。在python中,sorted()支持复制排序。
注:默认地,sort()和sorted()都会按升序都数据排序,若要以降序对数据排序,需要向sort()或sorted()方法传入参数reverse=True,python会负责处理。
2. 推导列表
将一个列表转化为另一个列表需要进行以下4步:1)创建一个新列表来存放转化后的数据
2)迭代处理原列表中的各个数据项
3)每次迭代时完成转换
4)将转化后的数据追加到新列表
格式:
new_list = [ {convert item} for item in var_list]
3. 列表分片
var_list[srart:end] 返回列表var_list中从第srart到(不包括)第end项的数据项4. 用集合删除重复项
python中集合最突出的特性是集合中的数据项是无序的,而且不允许重复。集合创建:
distances = set(var_list)
或distances = {1,2,3,4,5,6,4}
小应用:#!/usr/local/bin/python
# coding=utf-8
# sanitize
def sanitize(var_string):
if '-' in var_string:
sep = '-'
elif ':' in var_string:
sep = ':'
else:
return var_string
(min, sec) = var_string.split(sep)
return min + '.' + sec
#james_list = []
#julie_list = []
#mikey_list = []
#sarah_list = []
try:
with open('james.txt') as james_file, open('julie.txt') as julie_file, open('mikey.txt') as mikey_file, open('sarah.txt') as sarah_file:
james = james_file.readline().strip().split(',')
julie = julie_file.readline().strip().split(',')
mikey = mikey_file.readline().strip().split(',')
sarah = sarah_file.readline().strip().split(',')
#for item in james:
# james_list.append(sanitize(item))
#for item in julie:
# julie_list.append(sanitize(item))
#for item in mikey:
# mikey_list.append(sanitize(item))
#for item in sarah:
# sarah_list.append(sanitize(item))
# sorted() function will return a new sorted list
james_list = sorted(set([sanitize(item) for item in james]))[0:3]
julie_list = sorted(set([sanitize(item) for item in julie]))[0:3]
mikey_list = sorted(set([sanitize(item) for item in mikey]))[0:3]
sarah_list = sorted(set([sanitize(item) for item in sarah]))[0:3]
print james_list
print julie_list
print mikey_list
print sarah_list
#james_unique = []
#for item in james_list:
# if item not in james_unique:
# james_unique.append(item)
#print james_unique[0:3]
except IOError as err:
print 'File error:' + str(err)
小结:
1)sort()方法可以在原地改变列表的排序, sorted()方法通过提供复制排序可以对几乎任何数据结构排序,向sorte()或sorted()传入reverse=True可以按降序排列数据2)列表推导可以在一行上指定一个转换而不使用迭代
3)要访问一个列表中的多个数据项,可以使用列表分片
4)使用set()方法可以创建一个集合
相关文章推荐
- 初识python 学习笔记系列1
- Python学习系列—(Hello World)
- Python学习【第26篇】:Python系列- 多线程(threading)
- Python Twisted 学习系列22(转载stulife最棒的Twisted入门教程)
- python库的学习系列之 13.2. ConfigParser — Configuration file parser
- Python学习系列(三)(字符串)
- Python学习系列(一)(基础入门)
- Linux 学习一 搭建环境系列之二 安装 python3.6、setuptools、pip
- Python学习系列 ( 第二章):Python 的基础语法的使用
- python学习系列---list,tuple,dict,set内置方法
- python学习系列(七)--- socket实现简单的即时通讯
- python学习系列(五)--- 正则表达式基本函数
- 【Python学习系列五】Python网络爬虫框架Scrapy环境搭建
- Python学习系列十一:动态类型
- 【Python学习系列十七】基于scikit-learn库逻辑回归训练模型(delta比赛代码2)
- python学习系列---斐波那契数列的多种实现
- python系列学习五——web开发
- Python学习系列入门篇(二)
- Python学习系列(五)(文件操作及其字典)
- Python学习系列:面向对象高级编程(-)