python常用函数解析

enumerate() 函数

  • 函数:enumerate(sequence, [start=0]) #第二个参数为指定索引
  • 功能:enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for循环当中。即将可循环序列sequence以start开始分别列出序列数据和数据下标
  • 参考博客:http://www.cnblogs.com/yizhenfeng/p/7596113.html

pickle

  • python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,即转换为一种可以传输或存储的格式,以便永久存储,但pickle序列化后的数据,可读性差;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。
    pickle.dump(obj, file[, protocol])
  • 功能:序列化对象,将对象obj保存到文件file中。
  • 参数:
    protocol:序列化使用的协议版本,默认值为0。0:ASCII协议,所序列化的对象使用可打印的ASCII码表示(以文本的形式序列化);1:老式的二进制协议;2:2.3版本引入的新二进制协议。
    file:对象保存到的类文件对象。file必须有write()接口, file可以是一个以’w’方式打开的文件或者一个StringIO对象或者其他任何实现write()接口的对象。
    pickle.load(file)
  • 功能:反序列化对象。将文件中的数据解析为一个Python对象。
  • 参数: file:类文件对象,有read()和readline()接口。
  • 参考博客:http://www.cnblogs.com/yizhenfeng/p/7596113.html
# 使用pickle模块将数据对象保存到文件
# pickle是完全用Python来实现的模块,这个CPickle是用C来实现的,它的速度要比pickle快好多倍,一般建议如果电脑中只要有CPickle的话都应该使用它。
try:
    import cPlickle as pickle
except:
    import pickle
# import pprint
import pickle
b = 7
i = 13000000
fa = 99.056
s = '中国人民 123abc'
lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
tu = (-5, 10, 8)
coll = {4, 5, 6}
dic = {'x': [1, 2.0, 3, 4+6j],
       'y': ('string', u'Unicode string'),
       'z': None}
f = open('sample_pickle.dat', 'wb')    # 以写模式打开二进制文件
# f = open('data.pkl', 'wb')
try:
    pickle.dump(b, f)      # 对象个数
    pickle.dump(i, f)      # 写入整数
    pickle.dump(fa, f)     # 写入字符串
    pickle.dump(s, f)      # 写入浮点数
    pickle.dump(lst, f)    # 写入列表
    pickle.dump(tu, f)     # 写入元组
    pickle.dump(coll, f)   # 写入集合
    pickle.dump(dic, f)    # 写入字典
except:
    print('写文件异常')
finally:
    f.close()
        
# 使用pickle模块读取'sample_pickle.dat'内的二进制内容,进而从文件中重构python对象
f = open('sample_pickle.dat', 'rb')
 n = pickle.load(f)    # 读出文件的数据个数
 for c in range(n):
     data = pickle.load(f)
     print('反序列化:', data)
     f.close()

np.concatenatee((a1,a2,…),axis=0)

  • 功能:能够一次完成多个数组的拼接。其中a1,a2,…是数组类型的参数,适合大规模的数据拼接。
  • 参考博客:https://blog.csdn.net/qq_38150441/article/details/80488800
 
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([[11, 21, 31], [7, 8, 9]])
print(np.concatenate((a, b), axis=0))
print(np.concatenate((a, b), axis=1)) # axis=1表示对应行的数组进行拼接

stack**

  • 函数:numpy.stack(arrays, axis=0)
  • 参数:
    1. 数组:array_like的序列每个数组必须具有相同的形状。
    2. axis:int,可选输入数组沿其堆叠的结果数组中的轴。如果axis=0,它将是第一个维度,如果 axis=-1,它将是最后一个维度。
    3. 返回: 堆叠:ndarray堆叠数组比输入数组多一个维。
  • 功能:沿着新轴连接数组的序列。
  • 参考博客(简单易懂):https://blog.csdn.net/qq_17550379/article/details/78934529

np.clip

  • 函数:clip(a, a_min, a_max, out=None)
  • 参数:
  • 功能:将数组a中的所有数限定到范围a_min和a_max中,即a中所有比a_min小的数都会强制变为a_min,a中所有比a_max大的数都会强制变为a_max.
  • 参考博客:https://www.cnblogs.com/cloud-ken/p/9946341.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值