文章目录

  • argsort 函数
  • format 格式化函数
  • get 函数(字典)
  • items 函数(字典)
  • operator.itemgetter 函数
  • sort 函数
  • sorted 函数
  • sum 函数



Python 3有很多简单的内置函数,可以参考:

Python 3内置函数

argsort 函数

argsort 函数的功能是将数组中的元素从小到大排列,并返回其对应的 index (索引)序列。

例1. 对数组 x 进行排序
此例中,x[3] = -5 最小,所以输出序列第一个值为 3,x[4] = 9 最大,所以输出序列最后一个值为 4。

>>> import numpy as np
>>> x = np.array([1, 7, 4, -5, 9, 2])
>>>> x.argsort()
array([3, 0, 5, 2, 1, 4], dtype=int64)

format 格式化函数

参考:Python format 格式化函数

基本语法:用 {}: 代替以前的 %

get 函数(字典)

Python 字典 get() 函数的功能是返回指定键的值,如果值不在字典中返回默认值。

get() 方法语法: dict.get(key, default=None)

  • key :字典中要查找的键
  • default :如果指定键的值不存在时,返回该默认值

例1. get 函数应用举例

>>> personDict = {'Name' : 'Eric', 'Age' : '31'}

>>> print("Age 值为: %s" % personDict.get('Age'))
Age 值为: 31
>>> print("Sex 值为: %s" % personDict.get('Sex', 'None'))
Sex 值为: None

items 函数(字典)

items 函数的功能是以列表返回可遍历的 (键, 值) 元组数组

items() 方法语法: dict.items()

例1. items 的使用

>>> dict = {'Name' : 'Eric', 'Age' : '21'}
>>>> print("Value : %s" % dict.items())
Value : dict_items([('Name', 'Eric'), ('Age', '21')])

operator.itemgetter 函数

operator.itemgetter 函数是由 operator 模块提供的函数,功能是用于获取对象的哪些维的数据,参数为一些序号。
例1. operator.itemgetter 函数的使用

>>> import operator
>>> a = [1, 2, 3]
>>> # 定义函数 b
>>> b = operator.itemgetter(2, 0, 1)
>>> # 获取 a 的第 2 个域、第 0 个域、第 1 个域的值
>>> b(a)
(3, 1, 2)
  • 注意 operator.itemgetter 函数获取的不是值,而是定义了一个函数,通过该函数作用到对象(a)上才能获取值。

sort 函数

sorted 函数

sorted() 函数的功能是对所有可迭代的对象进行排序操作,并返回重新排序的列表。

sorted 函数语法: sorted(iterable, key=None, reverse=False)

  • iterable:可迭代对象。
  • key:主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse:排序规则,reverse = True 降序 , reverse = False 升序(默认)。

例1. sorted 的使用

>>> sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]

sort 与 sorted 区别:

  • sort 是应用在 list 上的方法,而sorted 可以对所有可迭代的对象进行排序操作。
  • list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。比如:
>>> list = [5, 2, 3, 1, 4]
>>> sortedList = sorted(list)  #  用 sorted 函数排序
>>> print(sortedList)  
[1, 2, 3, 4, 5]
>>> print(list)  
[5, 2, 3, 1, 4]  # 原列表 list 顺序没有改变

>>> list.sort()  # 用 sort 函数排序
>>> print(list)  
[1, 2, 3, 4, 5]  # 原列表 list 顺序改变

sum 函数

sum 函数对系列进行求和计算,返回值为计算结果。python 自带的 sum 函数和 numpy 的 sum 函数功能相同。python 自带的 sum 函数(或者 numpy 中的 sum 函数)在无参时,所有数值全部相加;axis=0 时,按列相加;axis=1 时,按行相加;

例1. 比较 python 自带 sum 函数和 numpy 的 sum 函数

>>> import numpy as np
>>> # python 自带的sum函数
>>> print(sum([[1, 2, 3], [4, 5, 5]]))
20
>>> print(sum([[1, 2, 3], [4, 5, 5]], axis = 0))
[5 7 8]
>>> print(sum([[1, 2, 3], [4, 5, 5]], axis = 1))
[ 6 14]
>>> # numpy 中的sum函数
>>> a = np.sum([[1, 2, 3], [4, 5, 5]])
>>> print(a)
20
>>> print(a.shape)
()
>>> b = np.sum([[1, 2, 3], [4, 5, 5,]], axis = 0)
>>> print(b)
[5 7 8]
>>> print(b.shape)
(3,)
>>> c = np.sum([[1, 2, 3], [4, 5, 5]], axis = 1)
>>> print(c)
[ 6 14]
>>> print(c.shape)
(2,)