Python的常见函数和用法

抽时间,持续更新ing

一、专项内容

1.数组

2.字符串

二、其他内容

1.创建二维数组

假设:m是行,n是列,如何优雅地创建二维数组。

visited = [[False for i in range(n)] for j in range(m)]

进行值的复制,与下面这行代码可进行对比。

 visted = [[False] * n ] * m

Note:这种方式是地址赋值,没有进行内容的复制,当修改了二维数组中的值,则会将所有行的这个位置的值进行修改,因为他的本质是对一维数组做复制。

e.g., visited = [[1,2,3],[1,2,3]],修改, visited[0][0] = 6, 则先修改[1,2,3] 为 [6,2,3],然后进行 * 2的运算,最终的结果为 [[6,2,3], [6,2,3]],和预料大不相同,切记切记。

2.排序

2.1 Python排序

python有sort和sorted两个函数,sort在原数组上进行排序,sorted会创建新的副本进行排序,sorted的功能更多。  主要想介绍用一个数组的索引来对另一个数组进行排序。

2.1.1 sort的定义如下:

sort(*, key=None, reverse=False)

# e.g.
a = [1,3,2,1]
a.sort()

sort只能用于list,Note:直接在原来的数组上进行修改

2.1.2 sorted定义如下:

sorted(iterable, *, key=None, reverse=False)

其中,iterable为可迭代对象,包括list,字典等等,key为排序的关键字, 可以采用字典的key或者value,reverse表示是否反转。

2.1.3 用一个数组的索引来对另一个数组进行排序

x = [2, 1, 4, 3, 5]
y = [2, 1, 4, 3, 5]

x_sort = sorted(x)
x_index = sorted(range(0, len(x)), key = lambda k: x[k])
y_sort = [y[i] for i in x_index]
print(x_sort, x_index, y_sort)

2.2 Numpy排序

numpy存在sort和argsort两个函数,sort返回排序的值,argsort返回排序的索引,然后,利用x的索引对y进行排序。

import numpy as np

# init x and y
x = [2, 1, 4, 3, 5]
y = [2, 1, 4, 3, 5]

# list to numpy
x = np.array(x)
y = np.array(y)

# sort for x
x_sort = np.sort(x)
x_index = np.argsort(x)

# sort for y
y_sort = y[x_index]

3.绘图

3.1 matplotlib

去掉matplotlib绘图后的坐标系以及坐标系周围的空白

# 取消轴
plt.axis("off")
# 取消周围的空白
plt.savefig('./BEV_fill/{}.jpg'.format(kk), bbox_inches='tight', pad_inches=0)            

你可能感兴趣的:(Python知识,numpy)