作为个人的备忘记录,所以持续更新中ing
1.count
统计list中某个元素的个数,listobj.count(cntobj)
l = [1,1,2,2,3,3]
l.count(1)
2
2.OrderedDict
有序的字典,会记住(key,value)加入字典的顺序,打印或读取的时候按加入顺序操作
from collections import OrderedDict
ordct = OrderedDict()
for i in range(5):
ordct[i] = i
for k,v in ordct.items():
print(k,v)
0 0
1 1
2 2
3 3
4 4
3.enumerate
对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
l_tmp = ["这", "是", "一个", "测试"]
for i,j in enumerate(l_tmp):
print(i,j)
# list(enumerate(l_tmp))
# [(0, '这'), (1, '是'), (2, '一个'), (3, '测试')]
0 这
1 是
2 一个
3 测试
4.numpy.argmax
返回一个array最大元素的一维下标
numpy.unravel_index
将一个array的一维下标按照给定维度转化成一个给定维度的下标
import numpy
a = numpy.array(range(8))
a
Out[3]: array([0, 1, 2, 3, 4, 5, 6, 7])
a = a.reshape(2,4)
a
Out[5]:
array([[0, 1, 2, 3],
[4, 5, 6, 7]])
maxIndexTuple = numpy.unravel_index(numpy.argmax(a), a.shape)
maxIndexTuple
Out[7]: (1, 3)
5.numpy.row_stack and numpy.column_stack
numpy.row_stack((mat,a))
其中a是要加入的行序列
numpy.column_stack((mat,a))
其中a是要加入的列序列
import numpy
a = numpy.array(range(8)).reshape(2,4)
a
Out[24]:
array([[0, 1, 2, 3],
[4, 5, 6, 7]])
a = numpy.column_stack((a,b))
a
Out[28]:
array([[0, 1, 2, 3, 0],
[4, 5, 6, 7, 1]])
b = numpy.array(range(5))
b
Out[30]: array([0, 1, 2, 3, 4])
a = numpy.row_stack((a,b))
a
Out[33]:
array([[0, 1, 2, 3, 0],
[4, 5, 6, 7, 1],
[0, 1, 2, 3, 4]])
6.sort 和 sorted
list.sort()只用于list的排序,且是原列表的就地排序不会产生新的list
a = [3,1,5,4]
a.sort()
a
Out[33]: [1, 3, 4, 5]
sorted 可以处理任何可迭代的对象
sorted(iterable, key=None, reverse=False)
-iterable :可迭代对象
-key: 排序的比较函数
-reverse: False(升序),True(降序)
a = {3:'J',1:'a',5:'c',4:'k'}
b = sorted(a.items(),key=lambda i:i[0],reverse=False)
b
Out[18]: [(1, 'a'), (3, 'J'), (4, 'k'), (5, 'c')]
7. dict.get
如同通过字典的key来获取字典的值一样,
不同的是通过get来获取在key不存在的时候不会报错,
可以指定key值不存在的默认返回值。
a = {3:'J',1:'a',5:'c',4:'k'}
a.get(3,-1)
Out[14]: 'J'
a.get(0,-1)
Out[15]: -1