记录python的一些函数,实现某些功能。

求最大/小值的索引

对于list

1
2
3
4
5
import numpy as np
a = range(100)
np.random.shuffle(a)
index_max = a.index(max(a)) #求最大值的索引
index_min = a.index(min(a)) #求最小值的索引

对于numpy的数组ndarray

1
2
3
4
5
6
7
a = np.array(a)
index_max = np.argmax(a) #求最大值的索引
index_min = np.argmin(a) #求最小值的索引
# 对于二维的数组
b = np.arange(100).reshape(10,-1)
row_max_list = np.argmax(b,axis = 1) #按行计算最大值在行中的索引
line_max_list = np.argmin(b,axis = 0) #按列计算最小值在列中的索引

sort与sorted

1
sorted(iterable,key,reverse)
  • iterable: 可迭代对象
  • key:用来进行比较的元素。常用函数: lambda x:x[i]
  • reverse:排序规则。reverse=True按降序排列,reverse=False按升序排列(默认)

比较sort与sorted:

  • 作用对象:sort()只能作用于list,sorted()可以作用于所有可迭代对象。
  • 返回值:sort()没有返回值;sorted()返回一个新的list

字典的items()方法

1
dict.items()

返回可遍历的元素为(键,值)元组的数组。

模块

collections–容器数据类型

collections模块是python内建的一个集合模块,提供了许多有用的集成类。提供了list,dict,set,tuple的替代选择,相当于这几个数据类型的加强版。

collections.Counter(iterable)

Counter是一个计数器,用于计数可哈希对象,统计元素出现的个数。它是一个集合,元素-计数键-值对一样存储。

1
2
3
4
5
6
>> import collections

>> a = ["a","b","c","a","b","a"]
>> counter = collections.Counter(a)
>> print(counter)
Counter({'a': 3, 'b': 2, 'c': 1})