python的一些库和函数

python的 argparse 库

argparse是python的一个命令行解析包

使用步骤:

            (1)import argparse    首先导入模块
            (2)parser = argparse.ArgumentParser()    创建一个解析对象
            (3)parser.add_argument()    向该对象中添加你要关注的命令行参数和选项
            (4)parser.parse_args()    进行解析

Python collections.Counter()用法

什么是collections

       collections在python官方文档中的解释是High-performance container datatypes,直接的中文翻译解释高性能容量数据类型。
它总共包含五种数据类型:

其中Counter中文意思是计数器,也就是我们常用于统计的一种数据类型,在使用Counter之后可以让我们的代码更加简单易读。

Counter

先看一个简单的例子:

#统计词频
colors = ['red', 'blue', 'red', 'green', 'blue', 'blue']
result = {}
for color in colors:
    if result.get(color)==None:
        result[color]=1
    else:
        result[color]+=1
print (result)
#{'red': 2, 'blue': 3, 'green': 1}

下面我们看用Counter怎么实现:

from collections import Counter
colors = ['red', 'blue', 'red', 'green', 'blue', 'blue']
c = Counter(colors)
print (dict(c))

显然代码更加简单了,也更容易读和维护了。

Counter操作

可以创建一个空的Counter:

cnt = Counter()

之后在空的Counter上进行一些操作。
也可以创建的时候传进去一个迭代器(数组,字符串,字典等):

c = Counter('gallahad')                 # 传进字符串
c = Counter({'red': 4, 'blue': 2})      # 传进字典
c = Counter(cats=4, dogs=8)             # 传进元组

more....

Python的enumerate()函数

      对于一个可迭代/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值

      enumerate多用于在for循环中得到计数

如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写:

list1 = ["这", "是", "一个", "测试"]
for i in range (len(list1)):
    print i ,list1[i]

上述方法有些累赘,利用enumerate()会更加直接和优美:

list1 = ["这", "是", "一个", "测试"]
for index, item in enumerate(list1):
    print index, item
>>>
0 这
1 是
2 一个
3 测试

python的排序函数sorted()

此外,sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:

还可以

sort 与 sorted 区别:

         sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

         list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

lamdba表达式

    lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数

    lambda所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新定义一个函数了,使用lambda就有点过于执拗了。

lambda就是用来定义一个匿名函数的,如果还要给他绑定一个名字的话,就会显得有点画蛇添足,通常是直接使用lambda函数。如下所示:

add = lambda x, y : x+y
add(1,2)  # 结果为3

numpy库

arange()函数:用于生成一维数组

np.arange(头,尾,步长)

注意头尾是左闭右开的

zeros()函数:用于生成全0矩阵

np.zeros(n)

np.zeros((n,n))   注意2层括号不能省

默认填充类型为float64

np.zeros((3,2), dtype=int)

numpy数据类型转换astype

python的shuffle()函数

shuffle() 方法将序列的所有元素随机排序

发布了329 篇原创文章 · 获赞 156 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/hxxjxw/article/details/104266864