码迷,mamicode.com
首页 > 编程语言 > 详细

python总结

时间:2018-11-20 15:10:04      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:ati   load   for   并集   nbsp   好的   txt   opera   assert   

map()函数

map(function, iterable)

#例如

def square(x):

    return x*x

print (map(square, [1,2,3,4,5]))  

print (list(map(square, [1,2,3,4,5])))

<map object at 0x000002085A3F4BE0>

[1, 4, 9, 16, 25]

Random函数

random.uniform()

uniform(x,y): 随机产生一个在[x, y]范围内的实数,返回一个浮点数。

 

random.shuffle和random.permutatin

shuffle直接在原数组上执行,而permutation不改变原来的数组,返回一个新的数组

 

dict

dict.get(key, default=None)    key :字典中要查找的键。  default:如果指定键的值不存在时,返回该默认值。

 

operator.itemgetter ()

operator.itemgetter(n)定义了一个用来获取对象第n个域数据的函数。

import operator

a = [1,2,3,4,5,6,7]

func = operator.itemgetter(2) 

print func(a)

3

Sorted方法

对list、iterable进行排列

sorted(iterable, cmp, key, reverse)

iterable指定要排序的list或者iterable,

cmp为函数,指定排序时进行比较的函数,可以指定一个函数或者lambda函数,

key为函数,指定取待排序元素的哪一个域进行排序,

reverse默认为false(升序排列),定义为True时将按降序排列。

a = {‘d‘:4, ‘c‘:3, ‘f‘:5}

sorted(a.items(),key=operator.itemgetter(1), reverse=False)

并集、交集、差集

a=[1,3,5]

b=[1,2,3]

 

并集:

c=set(a) | set(b)

#或者set(a).union(set(b))

print (c)

 

交集:

c=set(a) & set(b)

print (c)

 

差集:

c=set(a)-set(b)

print (c)

 

对称差集,返回两个集合中不重复的元素:

c=set(a) ^ set(b)

print(c)

%d,%f 的使用

num=14 

 

#%d打印时结果是14 

print "num=%d" % num            # output: num=14 

 

#%1d意思是打印结果为1位整数,当整数的位数超过1位时,按整数原值打印,所以%1d的打印结果还是14 

print "num=%1d" % num           # output: num=14 

 

#%3d意思是打印结果为3位整数,当整数的位数不够3位时,在整数左侧补空格,所以%3d的打印结果是 14 

print "num=%3d" % num           # output: num= 14 

 

#%-3d意思是打印结果为3位整数,当整数的位数不够3位时,在整数右侧补空格,所以%3d的打印结果是14_ 

print "num=%-3d" % num          # output: num=14_ 

 

#%05d意思是打印结果为5位整数,当整数的位数不够5位时,在整数左侧补0,所以%05d的打印结果是00014 

print "num=%05d" % num          # output: num=00014 

 

#%.3d小数点后面的3意思是打印结果为3位整数, 

#当整数的位数不够3位时,在整数左侧补0,所以%.3d的打印结果是014 

print "num=%.3d" % num          # output: num=014 

 

#%.0003d小数点后面的0003和3一样,都表示3,意思是打印结果为3位整数, 

#当整数的位数不够3位时,在整数左侧补0,所以%.3d的打印结果还是014 

print "num=%.0003d" % num       # output: num=014 

 

#%5.3d是两种补齐方式的综合,当整数的位数不够3时,先在左侧补0,还是不够5位时,再在左侧补空格, 

#规则就是补0优先,最终的长度选数值较大的那个,所以%5.3d的打印结果还是  014 

print "num=%5.3d" % num         # output: num=  014 

 

#%05.3d是两种补齐方式的综合,当整数的位数不够3时,先在左侧补0,还是不够5位时, 

#由于是05,再在左侧补0,最终的长度选数值较大的那个,所以%05.3d的打印结果还是00014 

print "num=%05.3d" % num        # output: num=00014 

 

#还可以用%*.*d来表示精度,两个*的值分别在后面小括号的前两位数值指定 

#如下,不过这种方式04就失去补0的功能,只能补空格,只有小数点后面的3才能补0 

print "num=%*.*d" % (04,3,num)  # output: num= 014 

 

import math 

 

#%a.bf,a表示浮点数的打印长度,b表示浮点数小数点后面的精度 

 

#只是%f时表示原值,默认是小数点后5位数 

print "PI=%f" % math.pi             # output: PI=3.141593 

 

#只是%9f时,表示打印长度9位数,小数点也占一位,不够左侧补空格 

print "PI=%9f" % math.pi            # output: PI=_3.141593 

 

#只有.没有后面的数字时,表示去掉小数输出整数,03表示不够3位数左侧补0  

print "PI=%03.f" % math.pi          # output: PI=003 

 

#%6.3f表示小数点后面精确到3位,总长度6位数,包括小数点,不够左侧补空格 

print "PI=%6.3f" % math.pi          # output: PI=_3.142 

 

#%-6.3f表示小数点后面精确到3位,总长度6位数,包括小数点,不够右侧补空格 

print "PI=%-6.3f" % math.pi         # output: PI=3.142_ 

 

#还可以用%*.*f来表示精度,两个*的值分别在后面小括号的前两位数值指定 

#如下,不过这种方式06就失去补0的功能,只能补空格 

print "PI=%*.*f" % (06,3,math.pi)   # output: PI=_3.142 

assert

assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式如下:

assert expression [, arguments]

assert 表达式 [, 参数]

 

lists=[1,2,3]

assert len(lists) >=5,‘列表元素个数小于5‘

assertionerror: 列表元素个数小于5

glob模块

获取指定文件夹下所有匹配的文件

 

glob.glob(r‘c:\*.txt‘)

我这里就是获得C盘下的所有txt文件

enumerate()

seasons = [‘Spring‘, ‘Summer‘, ‘Fall‘, ‘Winter‘]

list(enumerate(seasons, start=2))       # 小标从 2 开始

[(2, ‘Spring‘), (3, ‘Summer‘), (4, ‘Fall‘), (5, ‘Winter‘)]

Open()函数

对于open()函数,其中文件打开方式参数有w,r,a

"r",以只读模式打开,你只能读取文件但不能编辑/删除文件的任何内容

"a",以追加模式打开,写入到文件中的任何数据将自动添加到末尾

"w",以写入模式打开,如果文件存在将会删除里面的所有内容,然后打开这个文件进行写入

Json模块和pickle模块

Json模块提供了四个功能:dumps、dump、loads、load

pickle模块提供了四个功能:dumps、dump、loads、load

 

json dumps把数据类型转换成字符串

dump把数据类型转换成字符串并存储在文件中

 

loads把字符串转换成数据类型 

load把文件打开从字符串转换成数据类型

 

json是可以在不同语言之间交换数据的,而pickle只在python之间使用。

 

json只能序列化最基本的数据类型,josn只能把常用的数据类型序列化(列表、字典、列表、字符串、数字、),比如日期格式、类对象!josn就不行了。

 

而pickle可以序列化所有的数据类型,包括类,函数都可以序列化。

 

使用pickle序列化后的文件打开是看不懂的,要想可以看懂,可以使用Json序列化

python总结

标签:ati   load   for   并集   nbsp   好的   txt   opera   assert   

原文地址:https://www.cnblogs.com/yongfuxue/p/9988479.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!