[045]Python使用技巧总结
2017-04-20 11:42
281 查看
一,排序
dict按照key 排序:
1、method 1.
dict按照value排序:
method 1:把dictionary中的元素分离出来放到一个list中,对list排序,从而间接实现对dictionary的排序。这个“元素”可以是key,value或者item。
method2:
sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
list排序:
list有sort方法:如:
>>> s=[2,1,3,0]
>>> s.sort()
[0, 1, 2, 3]
二,set和list
set转成list方法如下: list转成set方法如下:
s = set('12342212') l = ['12342212']
print s # set(['1', '3', '2', '4']) s = set(l[0])
l = list(s) print s # set(['1', '3', '2', '4'])
l.sort() # 排序 m = ['11','22','33','44','11','22']
print l # ['1', '2', '3', '4'] print set(m) # set(['11', '33', '44', '22'])
可见set和lsit可以自由转换,在删除list中多个/海量重复元素时,可以先转换成set,然后再转回list并排序(set没有排序)。此种方法不仅方便且效率较高。
三,input和raw_input
raw_input()
直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。
raw_input() 将所有输入作为字符串看待,返回字符串类型。而
input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )
input()
本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用 eval() 函数,所以,你甚至可以将表达式作为 input() 的参数,并且它会计算表达式的值并返回它。
四,range和xrange
range会直接生成一个list对象
xrange
用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器,每次调用返回其中的一个值。
要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。
所以xrange做循环的性能比range好,尤其是返回很大的时候。尽量用xrange吧,除非你是要返回一个列表。
五,get
get(a,""):获得a的值,若没有则返回空
六,map
七,python
集合比较(交集、并集,差集):
集合支持一系列标准操作,包括并集、交集、差集和对称差集,例如:
a = t | s # t 和 s的并集
b = t & s # t 和 s的交集
c = t – s # 求差集(项在t中,但不在s中)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
详细介绍可参考:http://blog.csdn.net/isoleo/article/details/13000975
八,python
在不同层级目录import 模块的方法
http://blog.csdn.net/luo123n/article/details/49849649 http://www.cnblogs.com/kex1n/p/5971590.html
九,Python操作json
json.dumps字符编码,不能显示中文问题:
要想得到字符串的真实表示,需要用到参数ensure_ascii=False(默认为True):
>>> json.dumps(obj,ensure_ascii=False) '{"name": "\xe6\xb5\x8b\xe8\xaf\x95"}' >>> print json.dumps(obj,ensure_ascii=False) {"name": "测试"}
十,shell切分文件--split
split [-bl] file [prefix]参数说明:
-b, --bytes=SIZE:对file进行切分,每个小文件大小为SIZE。可以指定单位b,k,m。
-l, --lines=NUMBER:对file进行切分,每个文件有NUMBER行。
prefix:分割后产生的文件名前缀。
十一,Python 大文件md5加密:
小文件或字符串加密:
import hashlib data = 'This a md5 test!' hash_md5 = hashlib.md5(data) hash_md5.hexdigest()
大文件:
import hashlib def get_file_md5(f): m = hashlib.md5() while True: data = f.read(10240) if not data: break m.update(data) return m.hexdigest() with open(YOUR_FILE, 'r') as f: file_md5 = get_file_md5(f)
相关文章推荐
- 【转帖】使用python爬虫抓站的一些技巧总结:进阶篇
- 使用python爬虫抓站的一些技巧总结:进阶篇
- if ...__name__使用技巧总结 分类: python基础学习 python Module python 2013-11-01 14:51 262人阅读 评论(0) 收藏
- 一波神奇的Python语句、函数与方法的使用技巧总结
- python常用函数和使用技巧日常总结(不定期更新)
- 【转帖】使用python爬虫抓站的一些技巧总结:进阶篇
- 一波神奇的Python语句、函数与方法的使用技巧总结
- 使用python 爬虫抓站的一些技巧总结
- 使用python爬虫抓站的一些技巧总结:进阶篇
- 使用python爬虫抓站的一些技巧总结:进阶篇
- Developer Express控件组合中的GridControl控件,使用技巧总结
- 网友们总结使用blog的各种技巧和经验
- ASP.NET2.0MasterPage使用技巧总结
- 总结一下SubSonic使用技巧
- DataGrid使用技巧小总结-个性化分页及复杂表头
- Matcom和Borland C++ Builder混合编程及Matcom使用技巧总结
- 总结:ADO.NET在开发中的部分使用方法和技巧 选择自 yangyifan0 的 Blog
- 总结:ADO.NET在开发中的部分使用方法和技巧 (转贴)
- ASP.NET2.0MasterPage使用技巧总结